Download OpenAPI specification:Download
This is the OpenAPI definition of Moving Features API specification that conforms to the OGC Moving Features Encoding Extension - JSON.
The landing page provides links to the API definition, the conformance statements and to the feature collections in this dataset.
{- "title": "Movingfeatures data server",
- "description": "Access to data about moving features",
- "links": [
- {
- "rel": "alternate",
- "type": "application/geo+json",
- "hreflang": "en",
- "title": "moving features",
- "length": 0
}
]
}{- "openapi": "3.1.0",
- "info": {
- "title": "Building Blocks specified in OGC API - MovingFeatures - Part 1: Features Extension",
- "version": "0.0.1",
- "description": "This is the OpenAPI definition of Moving Features API specification that conforms to the OGC Moving Features Encoding Extension - JSON.",
- "contact": {
- "name": "Taehoon Kim",
- "email": "kim.taehoon@aist.go.jp"
}, - "x-logo": {
- "backgroundColor": "#FFFFFF",
- "altText": "OGC logo",
}
}, - "tags": [
- {
- "name": "Capabilities",
- "description": "Essential characteristics of the information available from the API."
}, - {
- "name": "MovingFeatureCollection",
- "description": "Collections of moving features to be logically managed by a user."
}, - {
- "name": "MovingFeatures",
- "description": "Moving feature data, including the temporal geometry, temporal properties, etc."
}, - {
- "name": "TemporalGeometryCollection",
- "description": "The spatial change over time (temporal geometry), representing the movement of the rigid or nonrigid body of a feature."
}, - {
- "name": "TemporalPropertyCollection",
- "description": "The thematic change over time (temporal property), representing the variation of the value of any descriptive characteristic of a feature."
}
], - "paths": {
- "/": {
- "get": {
- "operationId": "getLandingpage",
- "summary": "Landing page",
- "description": "The landing page provides links to the API definition, the conformance statements and to the feature collections in this dataset.",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "$ref": "#/components/responses/LandingPage"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/conformance": {
- "get": {
- "operationId": "getConformance",
- "summary": "Information about specifications that this API conforms to",
- "description": "A list of all conformance classes specified in a standard that the server conforms to.",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Conformance"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/api": {
- "get": {
- "operationId": "getAPIList",
- "summary": "API definition",
- "description": "A list of all API definition",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "description": "A list of all API definition generated by Open API Specification",
- "content": {
- "application/json": {
- "example": {
- "openapi": "3.1.0",
- "info": {
- "title": "Building Blocks specified in OGC API - MovingFeatures - Part 1: Features Extension",
- "version": "0.0.1",
- "description": "This is the OpenAPI definition of Moving Features API specification that conforms to the OGC Moving Features Encoding Extension - JSON.",
- "contact": {
- "name": "Taehoon Kim",
- "email": "kim.taehoon@aist.go.jp"
}, - "x-logo": {
- "backgroundColor": "#FFFFFF",
- "altText": "OGC logo",
}
}, - "tags": [
- {
- "name": "Capabilities",
- "description": "Essential characteristics of the information available from the API."
}, - {
- "name": "MovingFeatureCollection",
- "description": "Collections of moving features to be logically managed by a user."
}, - {
- "name": "MovingFeatures",
- "description": "Moving feature data, including the temporal geometry, temporal properties, etc."
}, - {
- "name": "TemporalGeometryCollection",
- "description": "The spatial change over time (temporal geometry), representing the movement of the rigid or nonrigid body of a feature."
}, - {
- "name": "TemporalPropertyCollection",
- "description": "The thematic change over time (temporal property), representing the variation of the value of any descriptive characteristic of a feature."
}
], - "paths": {
- "/": {
- "get": {
- "operationId": "getLandingpage",
- "summary": "Landing page",
- "description": "The landing page provides links to the API definition, the conformance statements and to the feature collections in this dataset.",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "$ref": "#/components/responses/LandingPage"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/conformance": {
- "get": {
- "operationId": "getConformance",
- "summary": "Information about specifications that this API conforms to",
- "description": "A list of all conformance classes specified in a standard that the server conforms to.",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Conformance"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/api": {
- "get": {
- "operationId": "getAPIList",
- "summary": "API definition",
- "description": "A list of all API definition",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "description": "A list of all API definition generated by Open API Specification",
- "content": {
- "application/json": {
- "example": {
- "openapi": "3.0.2",
- "info": {
- "title": "Building Blocks specified in OGC API - MovingFeatures - Part 1: Features Extension",
- "version": "0.0.1",
- "description": "This is the OpenAPI definition of Moving Features API specification that conforms to the OGC Moving Features Encoding Extension - JSON.",
- "contact": {
- "name": "Taehoon Kim",
- "email": "kim.taehoon@aist.go.jp"
}, - "x-logo": {
- "backgroundColor": "#FFFFFF",
- "altText": "OGC logo",
}
}, - "tags": [
- {
- "name": "Capabilities",
- "description": "Essential characteristics of the information available from the API."
}, - {
- "name": "MovingFeatureCollection",
- "description": "Collections of moving features to be logically managed by a user."
}, - {
- "name": "MovingFeatures",
- "description": "Moving feature data, including the temporal geometry, temporal properties, etc."
}, - {
- "name": "TemporalGeometryCollection",
- "description": "The spatial change over time (temporal geometry), representing the movement of the rigid or nonrigid body of a feature."
}, - {
- "name": "TemporalPropertyCollection",
- "description": "The thematic change over time (temporal property), representing the variation of the value of any descriptive characteristic of a feature."
}
], - "paths": {
- "/": {
- "get": {
- "operationId": "getLandingpage",
- "summary": "Landing page",
- "description": "The landing page provides links to the API definition, the conformance statements and to the feature collections in this dataset.",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "$ref": "#/components/responses/LandingPage"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/conformance": {
- "get": {
- "operationId": "getConformance",
- "summary": "Information about specifications that this API conforms to",
- "description": "A list of all conformance classes specified in a standard that the server conforms to.",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Conformance"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/api": {
- "get": {
- "operationId": "getAPIList",
- "summary": "API definition",
- "description": "A list of all API definition",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "description": "A list of all API definition generated by Open API Specification",
- "content": {
- "application/json": {
- "example": {
- "openapi": "3.0.2",
- "info": {
- "title": "Building Blocks specified in OGC API - MovingFeatures - Part 1: Features Extension",
- "version": "0.0.1",
- "description": "This is the OpenAPI definition of Moving Features API specification that conforms to the OGC Moving Features Encoding Extension - JSON.",
- "contact": {
- "name": "Taehoon Kim",
- "email": "kim.taehoon@aist.go.jp"
}, - "x-logo": {
- "backgroundColor": "#FFFFFF",
- "altText": "OGC logo",
}
}, - "tags": [
- {
- "name": "Capabilities",
- "description": "Essential characteristics of the information available from the API."
}, - {
- "name": "MovingFeatureCollection",
- "description": "Collections of moving features to be logically managed by a user."
}, - {
- "name": "MovingFeatures",
- "description": "Moving feature data, including the temporal geometry, temporal properties, etc."
}, - {
- "name": "TemporalGeometryCollection",
- "description": "The spatial change over time (temporal geometry), representing the movement of the rigid or nonrigid body of a feature."
}, - {
- "name": "TemporalPropertyCollection",
- "description": "The thematic change over time (temporal property), representing the variation of the value of any descriptive characteristic of a feature."
}
], - "paths": {
- "/": {
- "get": {
- "operationId": "getLandingpage",
- "summary": "Landing page",
- "description": "The landing page provides links to the API definition, the conformance statements and to the feature collections in this dataset.",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "$ref": "#/components/responses/LandingPage"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/conformance": {
- "get": {
- "operationId": "getConformance",
- "summary": "Information about specifications that this API conforms to",
- "description": "A list of all conformance classes specified in a standard that the server conforms to.",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Conformance"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/api": {
- "get": {
- "operationId": "getAPIList",
- "summary": "API definition",
- "description": "A list of all API definition",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "description": "A list of all API definition generated by Open API Specification",
- "content": {
- "application/json": {
- "example": {
- "openapi": "3.0.2",
- "info": {
- "title": "Building Blocks specified in OGC API - MovingFeatures - Part 1: Features Extension",
- "version": "0.0.1",
- "description": "This is the OpenAPI definition of Moving Features API specification that conforms to the OGC Moving Features Encoding Extension - JSON.",
- "contact": {
- "name": "Taehoon Kim",
- "email": "kim.taehoon@aist.go.jp"
},
}, - "tags": [
- {
- "name": "Capabilities",
- "description": "Essential characteristics of the information available from the API."
}, - {
- "name": "MovingFeatureCollection",
- "description": "Collections of moving features to be logically managed by a user."
}, - {
- "name": "MovingFeatures",
- "description": "Moving feature data, including the temporal geometry, temporal properties, etc."
}, - {
- "name": "TemporalGeometryCollection",
- "description": "The spatial change over time (temporal geometry), representing the movement of the rigid or nonrigid body of a feature."
}, - {
- "name": "TemporalPropertyCollection",
- "description": "The thematic change over time (temporal property), representing the variation of the value of any descriptive characteristic of a feature."
}
], - "paths": {
- "/": {
- "get": {
- "operationId": "getLandingpage",
- "summary": "Landing page",
- "description": "The landing page provides links to the API definition, the conformance statements and to the feature collections in this dataset.",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "$ref": "#/components/responses/LandingPage"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/conformance": {
- "get": {
- "operationId": "getConformance",
- "summary": "Information about specifications that this API conforms to",
- "description": "A list of all conformance classes specified in a standard that the server conforms to.",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Conformance"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/api": {
- "get": {
- "operationId": "getAPIList",
- "summary": "API definition",
- "description": "A list of all API definition",
- "tags": [
- "Capabilities"
], - "responses": {
- "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections": {
- "get": {
- "operationId": "searchCatalog",
- "summary": "Retrieve catalogs of moving features collection",
- "description": "A user can retrieve catalogs to access collections by simple filtering and a limit.\n",
- "tags": [
- "Capabilities"
], - "parameters": [
- {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Collections"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "registerMetadata",
- "summary": "Register metadata about a collection of moving features",
- "description": "A user SHOULD register metadata about a collection of moving features into the system.\n",
- "tags": [
- "MovingFeatureCollection"
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection-2"
}, - "example": {
- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful create a collection to manage moving features.",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
}
}
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}": {
- "get": {
- "operationId": "accessMetadata",
- "summary": "Accesse metadata about the collection",
- "description": "A user can access metadata with id `collectionId`.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Collection"
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteCollection",
- "summary": "Delete the collection",
- "description": "The collection catalog with id `collectionId` and including metadata and moving features SHOULD be deleted.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "A collection with the specified name was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "put": {
- "operationId": "replaceMetadata",
- "summary": "Replace metadata about the collection",
- "description": "A user SHOULD replace metadata with id `collectionId`.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection-2"
}, - "example": {
- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}
}
}
}, - "responses": {
- "204": {
- "description": "Successfully replaced."
}, - "404": {
- "description": "A collection with the specified name was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items": {
- "get": {
- "operationId": "retrieveMovingFeatures",
- "summary": "Retrieve moving feature collection",
- "description": "A user can retrieve moving feature collection to access the static information of the moving feature by simple filtering and a limit.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/MovingFeatures"
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertMovingFeatures",
- "summary": "Inserts moving features",
- "description": "A user SHOULD insert a set of moving features or a moving feature into a collection with id `collectionId`.\n\nThe request body schema SHALL follows the [MovingFeature object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#mfeature) \n(and [MovingFeatureCollection object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#mfeaturecollection)) in the OGC MF-JSON.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/movingFeature"
}, - {
- "$ref": "#/components/schemas/movingFeatureCollection"
}
], - "example": [
- {
- "$ref": "examples/movingFeatures_MF_JSON.json"
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful create a set of moving features or a moving feature into a specific collection.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
}
}
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}": {
- "get": {
- "operationId": "accessMovingFeature",
- "summary": "Accesses the static data of the moving feature",
- "description": "A user accesses a static data of a moving feature with id `mFeatureId`.\n\nThe static data of a moving feature is not included temporal geometries and temporal properties.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/MovingFeature"
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteMovingFeature",
- "summary": "Delete a single moving feature",
- "description": "The moving feature with id `mFeatureId` and including temporal geometries and properties SHOULD be deleted.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tGeometries": {
- "get": {
- "operationId": "accessTemporalGeometries",
- "summary": "Accesse the movement data of the single moving feature",
- "description": "A user can access only the movement data of a moving feature with id `mFeatureId`.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/leaf"
}, - {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalGeometryCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalGeometry",
- "summary": "Adds movement data into the moving feature",
- "description": "A user SHOULD add more movement data into a moving feature with id `mFeatureId`.\n\nThe request body schema SHALL follows the [TemporalGeometry object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#tgeometry) in the OGC MF-JSON.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalGeometry"
}, - "example": {
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:06Z",
- "2011-07-14T22:01:07Z",
- "2011-07-14T22:01:08Z",
- "2011-07-14T22:01:09Z",
- "2011-07-14T22:01:10Z"
], - "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 270
]
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more movement data into a specified moving feature.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "schemas/DefaultError.yml"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tGeometries/{tGeometryId}": {
- "delete": {
- "operationId": "deleteTemporalGeometry",
- "summary": "Delete a singe temporal geometry",
- "description": "The temporal geometry with id `tGeometryId` SHOULD be deleted.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tGeometryId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal geometry with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tProperties": {
- "get": {
- "operationId": "accessTemporalPropertyCollection",
- "summary": "Accesse the static information of the temporal properties data",
- "description": "A user can access the static information of the temporal properties data that included a single moving feature with id `mFeatureId`.\n\nThe static data of a temporal property is not included temporal values (property `values`).\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalPropertyCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalProperty",
- "summary": "Add temporal property data",
- "description": "A user SHOULD add more temporal property data into a moving feature with id `mFeatureId`.\n\nThe request body schema SHALL follows the [TemporalProperties object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#tproperties) in the OGC MF-JSON.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalProperties"
}, - "example": {
- "temporalProperties": [
- {
- "datetimes": [
- "2011-07-14T22:01:01.450Z",
- "2011-07-14T23:01:01.450Z",
- "2011-07-15T00:01:01.450Z"
], - "length": {
- "type": "Measure",
- "values": [
- 1,
- 2.4,
- 1
], - "interpolation": "Linear"
}, - "discharge": {
- "type": "Measure",
- "form": "MQS",
- "values": [
- 3,
- 4,
- 5
], - "interpolation": "Step"
}
}, - {
- "datetimes": [
- 1465621816590,
- 1465711526300
], - "camera": {
- "type": "Image",
- "values": [
- "iVBORw0KGgoAAAANSUhEU......"
], - "interpolation": "Discrete"
}, - "labels": {
- "type": "Text",
- "values": [
- "car",
- "human"
], - "interpolation": "Discrete"
}
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more temporal property into a specified moving feature.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "schemas/DefaultError.yml"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tProperties/{tPropertyName}": {
- "get": {
- "operationId": "accessTemporalProperty",
- "summary": "Accesse a temporal property",
- "description": "A user can access dynamic values with a specified name `tPropertyName` of temporal property.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalProperty"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalValues",
- "summary": "Add temporal values data",
- "description": "A user SHOULD add more temporal values data into a temporal property with id `tPropertyName`.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalValue"
}, - "example": {
- "datetimes": [
- "2011-07-15T08:00:00Z",
- "2011-07-15T08:00:01Z",
- "2011-07-15T08:00:02Z"
], - "values": [
- 0,
- 20,
- 50
], - "interpolation": "Linear"
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more temporal values data into a specified temporal property.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal property with the specified id was not found.\n"
}, - "500": {
- "$ref": "schemas/DefaultError.yml"
}
}
}, - "delete": {
- "operationId": "deleteTemporalProperty",
- "summary": "Delete a specified temporal property",
- "description": "The temporal property with id `tPropertyName` SHOULD be deleted.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal property with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}
}, - "components": {
- "schemas": {
- "link": {
- "type": "object",
- "required": [
- "href",
- "rel"
], - "properties": {
- "rel": {
- "type": "string",
- "example": "alternate"
}, - "type": {
- "type": "string",
- "example": "application/geo+json"
}, - "hreflang": {
- "type": "string",
- "example": "en"
}, - "title": {
- "type": "string",
- "example": "moving features"
}, - "length": {
- "type": "integer"
}
}
}, - "landingPage": {
- "type": "object",
- "required": [
- "links"
], - "properties": {
- "title": {
- "type": "string",
- "example": "Movingfeatures data server"
}, - "description": {
- "type": "string",
- "example": "Access to data about moving features"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "exception": {
- "type": "object",
- "required": [
- "code"
], - "properties": {
- "code": {
- "type": "string"
}, - "description": {
- "type": "string"
}
}
}, - "confClasses": {
- "type": "object",
- "required": [
- "conformsTo"
], - "properties": {
- "conformsTo": {
- "type": "array",
- "items": {
- "type": "string",
}
}
}
}, - "extent": {
- "description": "The extent of the features in the collection. In the Core only spatial and temporal\nextents are specified. Extensions may add additional members to represent other\nextents, for example, thermal or pressure ranges.\n\nAn array of extents is provided for each extent type (spatial, temporal). The first item \nin the array describes the overall extent of the data. All subsequent items describe more \nprecise extents, e.g., to identify clusters of data. Clients only interested in the \noverall extent will only need to access the first extent in the array.",
- "type": "object",
- "properties": {
- "spatial": {
- "description": "The spatial extent of the features in the collection.",
- "type": "object",
- "properties": {
- "bbox": {
- "description": "One or more bounding boxes that describe the spatial extent of the dataset.\nIn the Core only a single bounding box is supported.\n\nExtensions may support additional areas.\nThe first bounding box describes the overall spatial\nextent of the data. All subsequent bounding boxes describe \nmore precise bounding boxes, e.g., to identify clusters of data.\nClients only interested in the overall spatial extent will\nonly need to access the first bounding box in the array.",
- "type": "array",
- "minItems": 1,
- "items": {
- "description": "Each bounding box is provided as four or six numbers, depending on\nwhether the coordinate reference system includes a vertical axis\n(height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\n\nIf the value consists of four numbers, the coordinate reference system is\nWGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)\nunless a different coordinate reference system is specified in `crs`.\n\nIf the value consists of six numbers, the coordinate reference system is WGS 84 \nlongitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)\nunless a different coordinate reference system is specified in `crs`.\n\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\n\nIf the vertical axis is included, the third and the sixth number are\nthe bottom and the top of the 3-dimensional bounding box.\n\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries.",
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}, - "example": [
- -180,
- -90,
- 180,
- 90
]
}
}, - "crs": {
- "description": "Coordinate reference system of the coordinates in the spatial extent\n(property `bbox`). The default reference system is WGS 84 longitude/latitude.\nIn the Core the only other supported coordinate reference system is\nWGS 84 longitude/latitude/ellipsoidal height for coordinates with height.\nExtensions may support additional coordinate reference systems and add\nadditional enum values.",
- "type": "string",
}
}
}, - "temporal": {
- "description": "The temporal extent of the features in the collection.",
- "type": "object",
- "properties": {
- "interval": {
- "description": "One or more time intervals that describe the temporal extent of the dataset.\nIn the Core only a single time interval is supported.\n\nExtensions may support multiple intervals.\nThe first time interval describes the overall\ntemporal extent of the data. All subsequent time intervals describe \nmore precise time intervals, e.g., to identify clusters of data.\nClients only interested in the overall temporal extent will only need\nto access the first time interval in the array (a pair of lower and upper \nbound instants).",
- "type": "array",
- "minItems": 1,
- "items": {
- "description": "Begin and end times of the time interval. The timestamps are in the\ntemporal coordinate reference system specified in `trs`. By default\nthis is the Gregorian calendar.\n\nThe value `null` at start or end is supported and indicates a half-bounded interval.",
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "items": {
- "type": "string",
- "format": "date-time",
- "nullable": true
}, - "example": [
- "2011-11-11T12:22:11Z",
- null
]
}
}, - "trs": {
- "description": "Coordinate reference system of the coordinates in the temporal extent\n(property `interval`). The default reference system is the Gregorian calendar.\nIn the Core this is the only supported temporal coordinate reference system.\nExtensions may support additional temporal coordinate reference systems and add\nadditional enum values.",
- "type": "string",
}
}
}
}
}, - "collection": {
- "type": "object",
- "required": [
- "id",
- "links",
- "itemType",
- "updateFrequency"
], - "properties": {
- "id": {
- "description": "identifier of the collection used, for example, in URIs",
- "type": "string",
- "example": "address"
}, - "title": {
- "description": "human readable title of the collection",
- "type": "string",
- "example": "address"
}, - "description": {
- "description": "a description of the features in the collection",
- "type": "string",
- "example": "An address."
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}, - "example": [
]
}, - "extent": {
- "$ref": "#/components/schemas/extent"
}, - "itemType": {
- "description": "indicator about the type of the items in the collection",
- "type": "string",
- "default": "movingfeature"
}, - "crs": {
- "description": "the list of coordinate reference systems supported by the service",
- "type": "array",
- "items": {
- "type": "string"
},
}, - "updateFrequency": {
- "description": "a time interval of sampling location",
- "type": "number"
}
}
}, - "collections": {
- "type": "object",
- "required": [
- "collections",
- "links"
], - "properties": {
- "collections": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/collection"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "collection-2": {
- "type": "object",
- "required": [
- "updateFrequency"
], - "properties": {
- "title": {
- "description": "human readable title of the collection",
- "type": "string"
}, - "updateFrequency": {
- "description": "a time interval of sampling location. The unit is millisecond.",
- "type": "number"
}, - "description": {
- "description": "any description",
- "type": "string"
}
}
}, - "pointGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "multipointGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "linestringGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "multilinestringGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}, - "polygonGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}, - "multipolygonGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}
}, - "geometryGeoJSON": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/pointGeoJSON"
}, - {
- "$ref": "#/components/schemas/multipointGeoJSON"
}, - {
- "$ref": "#/components/schemas/linestringGeoJSON"
}, - {
- "$ref": "#/components/schemas/multilinestringGeoJSON"
}, - {
- "$ref": "#/components/schemas/polygonGeoJSON"
}, - {
- "$ref": "#/components/schemas/multipolygonGeoJSON"
}, - {
- "$ref": "#/components/schemas/geometrycollectionGeoJSON"
}
]
}, - "geometrycollectionGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "geometries"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "GeometryCollection"
]
}, - "geometries": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/geometryGeoJSON"
}
}
}
}, - "movingFeatureGeoJSON": {
- "type": "object",
- "required": [
- "id",
- "type",
- "geometry",
- "properties"
], - "properties": {
- "id": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "Feature"
]
}, - "geometry": {
- "$ref": "#/components/schemas/geometryGeoJSON"
}, - "properties": {
- "type": "object",
- "nullable": true
}, - "bbox": {
- "type": "array",
- "minItems": 1,
- "items": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}
}
}, - "interval": {
- "type": "array",
- "minItems": 1,
- "items": {
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "items": {
- "type": "string",
- "format": "date-time",
- "nullable": true
}
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "movingFeatureCollectionGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "features"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "FeatureCollection"
]
}, - "features": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/movingFeatureGeoJSON"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "datetimes": {
- "$id": "#/definitions/datetimes",
- "type": "array",
- "uniqueItems": true,
- "minItems": 1,
- "items": {
- "type": "string"
}
}, - "geometryInterpolation": {
- "$id": "#/definitions/geometryInterpolation",
- "title": "Interpolation method for TemporalPrimitiveGeometry (MotionCurve)",
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Quadratic",
- "Cube"
], - "default": "Linear"
}, - {
- "type": "string",
- "format": "uri"
}
]
}, - "orientation": {
- "$id": "#/definitions/orientation",
- "type": "object",
- "required": [
- "scales",
- "angles"
], - "properties": {
- "scales": {
- "type": "array",
- "minItems": 3,
- "maxItems": 3,
- "items": {
- "type": "number"
}
}, - "angles": {
- "type": "array",
- "minItems": 3,
- "maxItems": 3,
- "items": {
- "type": "number"
}
}
}
}, - "namedCRS": {
- "$id": "#/definitions/namedCRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}, - "properties": {
- "type": "object",
- "required": [
- "name"
], - "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string",
- "default": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}
}
}
}, - "linkedCRS": {
- "$id": "#/definitions/linkedCRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Link"
]
}, - "properties": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}
}
}, - "crs": {
- "$id": "#/definitions/crs",
- "title": "Coordinate Reference System",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "oneOf": [
- {
- "$ref": "#/components/schemas/namedCRS"
}, - {
- "$ref": "#/components/schemas/linkedCRS"
}
]
}, - "namedTRS": {
- "$id": "#/definitions/namedTRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}, - "properties": {
- "type": "object",
- "required": [
- "name"
], - "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string",
- "default": "urn:ogc:data:time:iso8601"
}
}
}
}
}, - "trs": {
- "$id": "#/definitions/trs",
- "title": "Temporal Coordinate Reference System",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "oneOf": [
- {
- "$ref": "#/components/schemas/namedTRS"
}, - {
- "$ref": "#/components/schemas/linkedCRS"
}
]
}, - "temporalPrimitiveGeometry": {
- "$id": "#/definitions/temporalPrimitiveGeometry",
- "type": "object",
- "title": "TemporalPrimitiveGeometry Object",
- "required": [
- "type",
- "datetimes",
- "coordinates"
], - "dependencies": {
- "orientations": [
- "base"
]
}, - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MovingPoint",
- "MovingLineString",
- "MovingPolygon",
- "MovingPointCloud"
]
}, - "datetimes": {
- "$ref": "#/components/schemas/datetimes"
}, - "coordinates": {
- "oneOf": [
- {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
]
}, - "interpolation": {
- "$ref": "#/components/schemas/geometryInterpolation"
}, - "base": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}
]
}, - "orientations": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/orientation"
}
}
]
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}
}
}, - "temporalComplexGeometry": {
- "$id": "#/definitions/temporalComplexGeometry",
- "type": "object",
- "title": "TemporalComplexGeometry Object",
- "required": [
- "type",
- "prisms"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MovingGeometryCollection"
]
}, - "prisms": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalPrimitiveGeometry"
}
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}
}
}, - "temporalGeometry": {
- "$id": "#/definitions/temporalGeometry",
- "title": "TemporalGeometry Object",
- "oneOf": [
- {
- "$ref": "#/components/schemas/temporalPrimitiveGeometry"
}, - {
- "$ref": "#/components/schemas/temporalComplexGeometry"
}
]
}, - "parametricValues": {
- "$id": "#/definitions/parametricValues",
- "type": "object",
- "required": [
- "datetimes"
], - "properties": {
- "datetimes": {
- "$ref": "#/components/schemas/datetimes"
}
}, - "patternProperties": {
- "^S_": {
- "oneOf": [
- {
- "$ref": "#/definitions/measureType"
}, - {
- "$ref": "#/definitions/textType"
}, - {
- "$ref": "#/definitions/imageType"
}
]
}
}
}, - "temporalProperties": {
- "$id": "#/definitions/temporalProperties",
- "title": "TemporalProperties Objects",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "items": [
- {
- "$ref": "#/components/schemas/parametricValues"
}
]
}
]
}, - "bbox": {
- "$id": "#/definitions/bbox",
- "title": "BoundingBox Object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
]
}, - "time": {
- "$id": "#/definitions/time",
- "title": "LifeSpan Object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "uniqueItems": true,
- "items": {
- "type": "string"
}
}
]
}, - "Geometry": {
- "title": "GeoJSON Geometry",
- "oneOf": [
- {
- "title": "GeoJSON Point",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON LineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON Polygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPoint",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiLineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPolygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}
]
}, - "GeometryCollection": {
- "title": "GeoJSON GeometryCollection",
- "type": "object",
- "required": [
- "type",
- "geometries"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "GeometryCollection"
]
}, - "geometries": {
- "type": "array",
- "items": {
- "oneOf": [
- {
- "title": "GeoJSON Point",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON LineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON Polygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPoint",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiLineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPolygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}
]
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - "geometry": {
- "$id": "#/definitions/geometry",
- "title": "GeoJSON Geometry object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "$ref": "#/components/schemas/Geometry"
}, - {
- "$ref": "#/components/schemas/GeometryCollection"
}
]
}, - "properties": {
- "$id": "#/definitions/properties",
- "title": "Properties object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "object"
}
]
}, - "movingFeature": {
- "$id": "#/definitions/movingFeature",
- "title": "MovingFeature object in a MF-JSON Prism",
- "type": "object",
- "required": [
- "type",
- "temporalGeometry"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Feature"
]
}, - "temporalGeometry": {
- "$ref": "#/components/schemas/temporalGeometry"
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}, - "temporalProperties": {
- "$ref": "#/components/schemas/temporalProperties"
}, - "bbox": {
- "$ref": "#/components/schemas/bbox"
}, - "time": {
- "$ref": "#/components/schemas/time"
}, - "geometry": {
- "$ref": "#/components/schemas/geometry"
}, - "properties": {
- "$ref": "#/components/schemas/properties"
}, - "id": {
- "description": "An identifier for the feature",
- "oneOf": [
- {
- "type": "string"
}, - {
- "type": "number"
}
]
}
}
}, - "movingFeatureCollection": {
- "$id": "#/definitions/movingFeatureCollection",
- "title": "MovingFeatureCollection object in a MF-JSON Prism",
- "type": "object",
- "required": [
- "type",
- "features"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "FeatureCollection"
]
}, - "features": {
- "type": "array",
- "minItems": 1,
- "items": {
- "$ref": "#/components/schemas/movingFeature"
}
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}, - "bbox": {
- "$ref": "#/components/schemas/bbox"
}, - "time": {
- "$ref": "#/components/schemas/time"
}, - "label": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "string"
}
]
}
}
}, - "pointCoordinates": {
- "type": "array,",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}, - "lineStringCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "minItems": "2,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "polygonCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "minItems": "4,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "multiPointCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "temporalGeometry-2": {
- "type": "object",
- "required": [
- "id",
- "type",
- "coordinates",
- "datetimes",
- "interpolation"
], - "properties": {
- "id": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "MovingPoint",
- "MovingLineString",
- "MovingPolygon",
- "MovingPointCloud"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/pointCoordinates"
}, - {
- "$ref": "#/components/schemas/lineStringCoordinates"
}, - {
- "$ref": "#/components/schemas/polygonCoordinates"
}, - {
- "$ref": "#/components/schemas/multiPointCoordinates"
}
]
}
}, - "datetimes": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 2,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "interpolation": {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Quadratic",
- "Cube"
]
}, - "base": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}, - "orientations": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "object",
- "required": [
- "scales",
- "angles"
], - "properties": {
- "scales": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 2,
- "maxItems": 2
}, - {
- "minItems": 3,
- "maxItems": 3
}
], - "items": {
- "type": "number"
}
}, - "angles": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 2,
- "maxItems": 2
}, - {
- "minItems": 3,
- "maxItems": 3
}
], - "items": {
- "type": "number"
}
}
}
}
}
}
}, - "temporalGeometryCollection": {
- "type": "object",
- "required": [
- "temporalGeometries"
], - "properties": {
- "temporalGeometries": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalGeometry-2"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "temporalValue": {
- "type": "object",
- "required": [
- "datetimes",
- "values",
- "interpolation"
], - "properties": {
- "datetimes": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 2,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "values": {
- "oneOf": [
- {
- "type": "number"
}, - {
- "type": "string"
}, - {
- "type": "boolean"
}
]
}, - "interpolation": {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Regression"
]
}
}
}, - "temporalProperty": {
- "type": "object",
- "required": [
- "name",
- "type"
], - "properties": {
- "name": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "TBool",
- "TText",
- "TInt",
- "TFloat",
- "TImage"
]
}, - "values": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 1,
- "items": {
- "$ref": "#/components/schemas/temporalValue"
}
}, - "form": {
- "oneOf": [
- {
- "type": "string",
- "format": "uri"
}, - {
- "type": "string",
- "minLength": 3,
- "maxLength": 3
}
]
}, - "description": {
- "type": "string"
}
}
}, - "temporalPropertyCollection": {
- "type": "object",
- "required": [
- "temporalProperties"
], - "properties": {
- "temporalProperties": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalProperty"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "link.yaml"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}
}, - "responses": {
- "LandingPage": {
- "description": "The links to the API capabilities.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/landingPage"
}
}
}
}, - "ServerError": {
- "description": "A server error occurred.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/exception"
}, - "example": {
- "code": "500",
- "description": "Server Internal Error"
}
}
}
}, - "Conformance": {
- "description": "The URIs of all requirements classes supported by the server.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/confClasses"
}
}
}
}, - "Collections": {
- "description": "A list of catalogs about collections of moving features.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collections"
}, - "example": {
- "collections": [
- {
- "id": "mfc-1",
- "title": "moving_feature_collection_sample",
- "itemType": "movingfeature",
- "updateFrequency": 1000,
- "extent": {
- "temporal": {
- "interval": [
- "2011-11-11T12:22:11Z",
- "2012-11-24T12:32:43Z"
],
}
}, - "links": [
]
}
],
}
}
}
}, - "Collection": {
- "description": "The metadata being returned.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection"
}, - "example": {
- "id": "mfc-1",
- "title": "moving_feature_collection_sample",
- "itemType": "movingfeature",
- "updateFrequency": 1,
- "extent": {
- "temporal": {
- "interval": [
- "2011-11-11T12:22:11Z",
- "2012-11-24T12:32:43Z"
],
}
}, - "links": [
]
}
}
}
}, - "MovingFeatures": {
- "description": "A list of static data of moving feature.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/movingFeatureCollectionGeoJSON"
}, - "example": {
- "type": "FeatureCollection",
- "features": [
- {
- "id": "mf-1",
- "type": "Feature",
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- -122.308150179,
- 37.488035566
], - [
- -122.597502109,
- 37.538869539
], - [
- -122.576687533,
- 37.613537207
], - [
- -122.2880486,
- 37.562818007
], - [
- -122.308150179,
- 37.488035566
]
]
}, - "properties": {
- "label": "car"
}, - "bbox": [
- -122.59750209,
- 37.48803556,
- -122.2880486,
- 37.613537207
], - "interval": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
]
}
], - "links": [
- {
- "rel": "self",
- "type": "application/geo+json"
}, - {
- "rel": "next",
- "type": "application/geo+json"
}
], - "timeStamp": "2020-01-01T12:00:00Z",
- "numberMatched": 100,
- "numberReturned": 1
}
}
}
}, - "MovingFeature": {
- "description": "A moving feature static data.",
- "content": {
- "application/geo+json": {
- "schema": {
- "$ref": "#/components/schemas/movingFeatureGeoJSON"
}, - "example": {
- "id": "mf-1",
- "type": "Feature",
- "geometry": {
- "type": "LineString",
- "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
]
}, - "properties": {
- "name": "car1",
- "state": "test1",
}, - "bbox": [
- 139.757083,
- 35.627483,
- 0,
- 139.757716,
- 35.627701,
- 4.5
], - "interval": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
]
}
}
}
}, - "TemporalGeometryCollection": {
- "description": "A list of Temporalgeometry data.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalGeometryCollection"
}, - "example": {
- "temporalGeometries": [
- {
- "id": "tg-1",
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z"
], - "coordinates": [
- [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}
]
}
], - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 100,
- "numberReturned": 1
}
}
}
}, - "TemporalPropertyCollection": {
- "description": "A list of static data of Temporalproperty.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalPropertyCollection"
}, - "example": {
- "temporalProperties": [
- {
- "name": "speed",
- "type": "TFloat",
- "form": "KHM"
}
], - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 20,
- "numberReturned": 2
}
}
}
}, - "TemporalProperty": {
- "description": "A Temporalproperty data.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalProperty"
}, - "example": {
- "name": "speed",
- "type": "TFloat",
- "values": [
- {
- "datetimes": [
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z"
], - "values": [
- 65,
- 70,
- 80
], - "interpolation": "Linear"
}, - {
- "datetimes": [
- "2011-07-15T08:00:00Z",
- "2011-07-15T08:00:01Z",
- "2011-07-15T08:00:02Z"
], - "values": [
- 0,
- 20,
- 50
], - "interpolation": "Linear"
}
], - "form": "KMH"
}
}
}
}
}, - "parameters": {
- "bbox": {
- "name": "bbox",
- "in": "query",
- "description": "Only features that have a geometry that intersects the bounding box are selected.\nThe bounding box is provided as four or six numbers, depending on whether the\ncoordinate reference system includes a vertical axis (height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\n\nIf the value consists of four numbers, the coordinate reference system is\nWGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)\nunless a different coordinate reference system is specified in the parameter `bbox-crs`.\n\nIf the value consists of six numbers, the coordinate reference system is WGS 84 \nlongitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)\nunless a different coordinate reference system is specified in the parameter `bbox-crs`.\n\nThe query parameter `bbox-crs` is specified in OGC API - Features - Part 2: Coordinate \nReference Systems by Reference.\n\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\n\nIf the vertical axis is included, the third and the sixth number are the\nbottom and the top of the 3-dimensional bounding box.\n\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries.",
- "required": false,
- "schema": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}
}, - "style": "form",
- "explode": false
}, - "datetime": {
- "name": "datetime",
- "in": "query",
- "description": "Either a date-time or an interval. Date and time expressions adhere to RFC 3339. \nIntervals may be bounded or half-bounded (double-dots at start or end).\n\nExamples:\n\n* A date-time: \"2018-02-12T23:20:50Z\"\n* A bounded interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\"\n* Half-bounded intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\n\nOnly features that have a temporal property that intersects the value of\n`datetime` are selected.\n\nIf a feature has multiple temporal properties, it is the decision of the\nserver whether only a single temporal property is used to determine\nthe extent or all relevant temporal properties.",
- "required": false,
- "schema": {
- "type": "string"
}, - "style": "form",
- "explode": false
}, - "limit": {
- "name": "limit",
- "in": "query",
- "description": "The optional limit parameter limits the number of items that are presented in the response document.\n\nOnly items are counted that are on the first level of the collection in the response document.\nNested objects contained within the explicitly requested items shall not be counted.\n\nMinimum = 1. Maximum = 10000. Default = 10.",
- "required": false,
- "schema": {
- "type": "integer",
- "minimum": 1,
- "maximum": 10000,
- "default": 10
}, - "style": "form",
- "explode": false
}, - "collectionId": {
- "name": "collectionId",
- "in": "path",
- "description": "local identifier of a collection",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "mFeatureId": {
- "name": "mFeatureId",
- "in": "path",
- "description": "local identifier of a moving feature",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "leaf": {
- "name": "leaf",
- "in": "query",
- "required": false,
- "schema": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 1,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "style": "form",
- "explode": false
}, - "tGeometryId": {
- "name": "tGeometryId",
- "in": "path",
- "description": "local identifier of a temporal geometry",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "tPropertyName": {
- "name": "tPropertiesName",
- "in": "path",
- "description": "local identifier of a temporal properties",
- "required": true,
- "schema": {
- "type": "string"
}
}
}
}
}
}
}
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections": {
- "get": {
- "operationId": "searchCatalog",
- "summary": "Retrieve catalogs of moving features collection",
- "description": "A user can retrieve catalogs to access collections by simple filtering and a limit.\n",
- "tags": [
- "Capabilities"
], - "parameters": [
- {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Collections"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "registerMetadata",
- "summary": "Register metadata about a collection of moving features",
- "description": "A user SHOULD register metadata about a collection of moving features into the system.\n",
- "tags": [
- "MovingFeatureCollection"
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection-2"
}, - "example": {
- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful create a collection to manage moving features.",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
}
}
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}": {
- "get": {
- "operationId": "accessMetadata",
- "summary": "Access metadata about the collection",
- "description": "A user can access metadata with id `collectionId`.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Collection"
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteCollection",
- "summary": "Delete the collection",
- "description": "The collection catalog with id `collectionId` and including metadata and moving features SHOULD be deleted.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "A collection with the specified name was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "put": {
- "operationId": "replaceMetadata",
- "summary": "Replace metadata about the collection",
- "description": "A user SHOULD replace metadata with id `collectionId`.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection-2"
}, - "example": {
- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}
}
}
}, - "responses": {
- "204": {
- "description": "Successfully replaced."
}, - "404": {
- "description": "A collection with the specified name was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items": {
- "get": {
- "operationId": "retrieveMovingFeatures",
- "summary": "Retrieve moving feature collection",
- "description": "A user can retrieve moving feature collection to access the static information of the moving feature by simple filtering and a limit.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/MovingFeatures"
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertMovingFeatures",
- "summary": "Insert moving features",
- "description": "A user SHOULD insert a set of moving features or a moving feature into a collection with id `collectionId`.\n\nThe request body schema SHALL follows the [MovingFeature object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#mfeature) \n(and [MovingFeatureCollection object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#mfeaturecollection)) in the OGC MF-JSON.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/movingFeature"
}, - {
- "$ref": "#/components/schemas/movingFeatureCollection"
}
], - "example": [
- {
- "$ref": "examples/movingFeatures_MF_JSON.json"
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful create a set of moving features or a moving feature into a specific collection.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
}
}
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}": {
- "get": {
- "operationId": "accessMovingFeature",
- "summary": "Access the static data of the moving feature",
- "description": "A user can access a static data of a moving feature with id `mFeatureId`.\n\nThe static data of a moving feature is not included temporal geometries and temporal properties.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/MovingFeature"
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteMovingFeature",
- "summary": "Delete a single moving feature",
- "description": "The moving feature with id `mFeatureId` and including temporal geometries and properties SHOULD be deleted.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tgeometries": {
- "get": {
- "operationId": "retrieveTemporalGeometries",
- "summary": "Retrieve the movement data of the single moving feature",
- "description": "A user can retrieve only the movement data of a moving feature with id `mFeatureId`.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/leaf"
}, - {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalGeometryCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalGeometry",
- "summary": "Add movement data into the moving feature",
- "description": "A user SHOULD add more movement data into a moving feature with id `mFeatureId`.\n\nThe request body schema SHALL follows the [TemporalGeometry object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#tgeometry) in the OGC MF-JSON.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalGeometry"
}, - "example": {
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:06Z",
- "2011-07-14T22:01:07Z",
- "2011-07-14T22:01:08Z",
- "2011-07-14T22:01:09Z",
- "2011-07-14T22:01:10Z"
], - "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 270
]
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more movement data into a specified moving feature.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tgeometries/{tGeometryId}": {
- "delete": {
- "operationId": "deleteTemporalGeometry",
- "summary": "Delete a singe temporal geometry",
- "description": "The temporal geometry with id `tGeometryId` SHOULD be deleted.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tGeometryId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal geometry with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tproperties": {
- "get": {
- "operationId": "retrieveTemporalPropertyCollection",
- "summary": "Retrieve the static information of the temporal properties data",
- "description": "A user can retrieve only the static information of the temporal property data that included a single moving feature with id `mFeatureId`.\n\nThe static data of a temporal property is not included temporal values (property `values`).\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalPropertyCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalProperty",
- "summary": "Add temporal property data",
- "description": "A user SHOULD add more temporal property data into a moving feature with id `mFeatureId`.\n\nThe request body schema SHALL follows the [TemporalProperties object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#tproperties) in the OGC MF-JSON.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalProperties"
}, - "example": {
- "temporalProperties": [
- {
- "datetimes": [
- "2011-07-14T22:01:01.450Z",
- "2011-07-14T23:01:01.450Z",
- "2011-07-15T00:01:01.450Z"
], - "length": {
- "type": "Measure",
- "values": [
- 1,
- 2.4,
- 1
], - "interpolation": "Linear"
}, - "discharge": {
- "type": "Measure",
- "form": "MQS",
- "values": [
- 3,
- 4,
- 5
], - "interpolation": "Step"
}
}, - {
- "datetimes": [
- 1465621816590,
- 1465711526300
], - "camera": {
- "type": "Image",
- "values": [
- "iVBORw0KGgoAAAANSUhEU......"
], - "interpolation": "Discrete"
}, - "labels": {
- "type": "Text",
- "values": [
- "car",
- "human"
], - "interpolation": "Discrete"
}
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more temporal property into a specified moving feature.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tproperties/{tPropertyName}": {
- "get": {
- "operationId": "retrieveTemporalProperty",
- "summary": "Retrieve a temporal property",
- "description": "A user can retrieve only the temporal values with a specified name `tPropertyName` of temporal property.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}, - {
- "$ref": "#/components/parameters/leaf"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalValueCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalValues",
- "summary": "Add temporal values data",
- "description": "A user SHOULD add more temporal values data into a temporal property with id `tPropertyName`.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalValue"
}, - "example": {
- "datetimes": [
- "2011-07-15T08:00:00Z",
- "2011-07-15T08:00:01Z",
- "2011-07-15T08:00:02Z"
], - "values": [
- 0,
- 20,
- 50
], - "interpolation": "Linear"
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more temporal values data into a specified temporal property.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal property with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteTemporalProperty",
- "summary": "Delete a specified temporal property",
- "description": "The temporal property with id `tPropertyName` SHOULD be deleted.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal property with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}
}, - "components": {
- "schemas": {
- "link": {
- "type": "object",
- "required": [
- "href",
- "rel"
], - "properties": {
- "rel": {
- "type": "string",
- "example": "alternate"
}, - "type": {
- "type": "string",
- "example": "application/geo+json"
}, - "hreflang": {
- "type": "string",
- "example": "en"
}, - "title": {
- "type": "string",
- "example": "moving features"
}, - "length": {
- "type": "integer"
}
}
}, - "landingPage": {
- "type": "object",
- "required": [
- "links"
], - "properties": {
- "title": {
- "type": "string",
- "example": "Movingfeatures data server"
}, - "description": {
- "type": "string",
- "example": "Access to data about moving features"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "exception": {
- "type": "object",
- "required": [
- "code"
], - "properties": {
- "code": {
- "type": "string"
}, - "description": {
- "type": "string"
}
}
}, - "confClasses": {
- "type": "object",
- "required": [
- "conformsTo"
], - "properties": {
- "conformsTo": {
- "type": "array",
- "items": {
- "type": "string",
}
}
}
}, - "extent": {
- "description": "The extent of the features in the collection. In the Core only spatial and temporal\nextents are specified. Extensions may add additional members to represent other\nextents, for example, thermal or pressure ranges.\n\nAn array of extents is provided for each extent type (spatial, temporal). The first item \nin the array describes the overall extent of the data. All subsequent items describe more \nprecise extents, e.g., to identify clusters of data. Clients only interested in the \noverall extent will only need to access the first extent in the array.",
- "type": "object",
- "properties": {
- "spatial": {
- "description": "The spatial extent of the features in the collection.",
- "type": "object",
- "properties": {
- "bbox": {
- "description": "One or more bounding boxes that describe the spatial extent of the dataset.\nIn the Core only a single bounding box is supported.\n\nExtensions may support additional areas.\nThe first bounding box describes the overall spatial\nextent of the data. All subsequent bounding boxes describe \nmore precise bounding boxes, e.g., to identify clusters of data.\nClients only interested in the overall spatial extent will\nonly need to access the first bounding box in the array.",
- "type": "array",
- "minItems": 1,
- "items": {
- "description": "Each bounding box is provided as four or six numbers, depending on\nwhether the coordinate reference system includes a vertical axis\n(height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\n\nIf the value consists of four numbers, the coordinate reference system is\nWGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)\nunless a different coordinate reference system is specified in `crs`.\n\nIf the value consists of six numbers, the coordinate reference system is WGS 84 \nlongitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)\nunless a different coordinate reference system is specified in `crs`.\n\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\n\nIf the vertical axis is included, the third and the sixth number are\nthe bottom and the top of the 3-dimensional bounding box.\n\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries.",
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}, - "example": [
- -180,
- -90,
- 180,
- 90
]
}
}, - "crs": {
- "description": "Coordinate reference system of the coordinates in the spatial extent\n(property `bbox`). The default reference system is WGS 84 longitude/latitude.\nIn the Core the only other supported coordinate reference system is\nWGS 84 longitude/latitude/ellipsoidal height for coordinates with height.\nExtensions may support additional coordinate reference systems and add\nadditional enum values.",
- "type": "string",
}
}
}, - "temporal": {
- "description": "The temporal extent of the features in the collection.",
- "type": "object",
- "properties": {
- "interval": {
- "description": "One or more time intervals that describe the temporal extent of the dataset.\nIn the Core only a single time interval is supported.\n\nExtensions may support multiple intervals.\nThe first time interval describes the overall\ntemporal extent of the data. All subsequent time intervals describe \nmore precise time intervals, e.g., to identify clusters of data.\nClients only interested in the overall temporal extent will only need\nto access the first time interval in the array (a pair of lower and upper \nbound instants).",
- "type": "array",
- "minItems": 1,
- "items": {
- "description": "Begin and end times of the time interval. The timestamps are in the\ntemporal coordinate reference system specified in `trs`. By default\nthis is the Gregorian calendar.\n\nThe value `null` at start or end is supported and indicates a half-bounded interval.",
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "items": {
- "type": "string",
- "format": "date-time",
- "nullable": true
}, - "example": [
- "2011-11-11T12:22:11Z",
- null
]
}
}, - "trs": {
- "description": "Coordinate reference system of the coordinates in the temporal extent\n(property `interval`). The default reference system is the Gregorian calendar.\nIn the Core this is the only supported temporal coordinate reference system.\nExtensions may support additional temporal coordinate reference systems and add\nadditional enum values.",
- "type": "string",
}
}
}
}
}, - "collection": {
- "type": "object",
- "required": [
- "id",
- "links",
- "itemType",
- "updateFrequency"
], - "properties": {
- "id": {
- "description": "identifier of the collection used, for example, in URIs",
- "type": "string",
- "example": "address"
}, - "title": {
- "description": "human readable title of the collection",
- "type": "string",
- "example": "address"
}, - "description": {
- "description": "a description of the features in the collection",
- "type": "string",
- "example": "An address."
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}, - "example": [
]
}, - "extent": {
- "$ref": "#/components/schemas/extent"
}, - "itemType": {
- "description": "indicator about the type of the items in the collection",
- "type": "string",
- "default": "movingfeature"
}, - "crs": {
- "description": "the list of coordinate reference systems supported by the service",
- "type": "array",
- "items": {
- "type": "string"
},
}, - "updateFrequency": {
- "description": "a time interval of sampling location",
- "type": "number"
}
}
}, - "collections": {
- "type": "object",
- "required": [
- "collections",
- "links"
], - "properties": {
- "collections": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/collection"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "collection-2": {
- "type": "object",
- "required": [
- "updateFrequency"
], - "properties": {
- "title": {
- "description": "human readable title of the collection",
- "type": "string"
}, - "updateFrequency": {
- "description": "a time interval of sampling location. The unit is millisecond.",
- "type": "number"
}, - "description": {
- "description": "any description",
- "type": "string"
}
}
}, - "pointGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "multipointGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "linestringGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "multilinestringGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}, - "polygonGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}, - "multipolygonGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}
}, - "geometryGeoJSON": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/pointGeoJSON"
}, - {
- "$ref": "#/components/schemas/multipointGeoJSON"
}, - {
- "$ref": "#/components/schemas/linestringGeoJSON"
}, - {
- "$ref": "#/components/schemas/multilinestringGeoJSON"
}, - {
- "$ref": "#/components/schemas/polygonGeoJSON"
}, - {
- "$ref": "#/components/schemas/multipolygonGeoJSON"
}, - {
- "$ref": "#/components/schemas/geometrycollectionGeoJSON"
}
]
}, - "geometrycollectionGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "geometries"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "GeometryCollection"
]
}, - "geometries": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/geometryGeoJSON"
}
}
}
}, - "movingFeatureGeoJSON": {
- "type": "object",
- "required": [
- "id",
- "type",
- "geometry",
- "properties"
], - "properties": {
- "id": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "Feature"
]
}, - "geometry": {
- "$ref": "#/components/schemas/geometryGeoJSON"
}, - "properties": {
- "type": "object",
- "nullable": true
}, - "bbox": {
- "type": "array",
- "minItems": 1,
- "items": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}
}
}, - "interval": {
- "type": "array",
- "minItems": 1,
- "items": {
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "items": {
- "type": "string",
- "format": "date-time",
- "nullable": true
}
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "movingFeatureCollectionGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "features"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "FeatureCollection"
]
}, - "features": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/movingFeatureGeoJSON"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "datetimes": {
- "$id": "#/definitions/datetimes",
- "type": "array",
- "uniqueItems": true,
- "minItems": 1,
- "items": {
- "type": "string"
}
}, - "geometryInterpolation": {
- "$id": "#/definitions/geometryInterpolation",
- "title": "Interpolation method for TemporalPrimitiveGeometry (MotionCurve)",
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Quadratic",
- "Cube"
], - "default": "Linear"
}, - {
- "type": "string",
- "format": "uri"
}
]
}, - "orientation": {
- "$id": "#/definitions/orientation",
- "type": "object",
- "required": [
- "scales",
- "angles"
], - "properties": {
- "scales": {
- "type": "array",
- "minItems": 3,
- "maxItems": 3,
- "items": {
- "type": "number"
}
}, - "angles": {
- "type": "array",
- "minItems": 3,
- "maxItems": 3,
- "items": {
- "type": "number"
}
}
}
}, - "namedCRS": {
- "$id": "#/definitions/namedCRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}, - "properties": {
- "type": "object",
- "required": [
- "name"
], - "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string",
- "default": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}
}
}
}, - "linkedCRS": {
- "$id": "#/definitions/linkedCRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Link"
]
}, - "properties": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}
}
}, - "crs": {
- "$id": "#/definitions/crs",
- "title": "Coordinate Reference System",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "oneOf": [
- {
- "$ref": "#/components/schemas/namedCRS"
}, - {
- "$ref": "#/components/schemas/linkedCRS"
}
]
}, - "namedTRS": {
- "$id": "#/definitions/namedTRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}, - "properties": {
- "type": "object",
- "required": [
- "name"
], - "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string",
- "default": "urn:ogc:data:time:iso8601"
}
}
}
}
}, - "trs": {
- "$id": "#/definitions/trs",
- "title": "Temporal Coordinate Reference System",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "oneOf": [
- {
- "$ref": "#/components/schemas/namedTRS"
}, - {
- "$ref": "#/components/schemas/linkedCRS"
}
]
}, - "temporalPrimitiveGeometry": {
- "$id": "#/definitions/temporalPrimitiveGeometry",
- "type": "object",
- "title": "TemporalPrimitiveGeometry Object",
- "required": [
- "type",
- "datetimes",
- "coordinates"
], - "dependencies": {
- "orientations": [
- "base"
]
}, - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MovingPoint",
- "MovingLineString",
- "MovingPolygon",
- "MovingPointCloud"
]
}, - "datetimes": {
- "$ref": "#/components/schemas/datetimes"
}, - "coordinates": {
- "oneOf": [
- {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
]
}, - "interpolation": {
- "$ref": "#/components/schemas/geometryInterpolation"
}, - "base": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}
]
}, - "orientations": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/orientation"
}
}
]
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}
}
}, - "temporalComplexGeometry": {
- "$id": "#/definitions/temporalComplexGeometry",
- "type": "object",
- "title": "TemporalComplexGeometry Object",
- "required": [
- "type",
- "prisms"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MovingGeometryCollection"
]
}, - "prisms": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalPrimitiveGeometry"
}
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}
}
}, - "temporalGeometry": {
- "$id": "#/definitions/temporalGeometry",
- "title": "TemporalGeometry Object",
- "oneOf": [
- {
- "$ref": "#/components/schemas/temporalPrimitiveGeometry"
}, - {
- "$ref": "#/components/schemas/temporalComplexGeometry"
}
]
}, - "parametricValues": {
- "$id": "#/definitions/parametricValues",
- "type": "object",
- "required": [
- "datetimes"
], - "properties": {
- "datetimes": {
- "$ref": "#/components/schemas/datetimes"
}
}, - "patternProperties": {
- "^S_": {
- "oneOf": [
- {
- "$ref": "#/definitions/measureType"
}, - {
- "$ref": "#/definitions/textType"
}, - {
- "$ref": "#/definitions/imageType"
}
]
}
}
}, - "temporalProperties": {
- "$id": "#/definitions/temporalProperties",
- "title": "TemporalProperties Objects",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "items": [
- {
- "$ref": "#/components/schemas/parametricValues"
}
]
}
]
}, - "bbox": {
- "$id": "#/definitions/bbox",
- "title": "BoundingBox Object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
]
}, - "time": {
- "$id": "#/definitions/time",
- "title": "LifeSpan Object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "uniqueItems": true,
- "items": {
- "type": "string"
}
}
]
}, - "Geometry": {
- "title": "GeoJSON Geometry",
- "oneOf": [
- {
- "title": "GeoJSON Point",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON LineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON Polygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPoint",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiLineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPolygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}
]
}, - "GeometryCollection": {
- "title": "GeoJSON GeometryCollection",
- "type": "object",
- "required": [
- "type",
- "geometries"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "GeometryCollection"
]
}, - "geometries": {
- "type": "array",
- "items": {
- "oneOf": [
- {
- "title": "GeoJSON Point",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON LineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON Polygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPoint",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiLineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPolygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}
]
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - "geometry": {
- "$id": "#/definitions/geometry",
- "title": "GeoJSON Geometry object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "$ref": "#/components/schemas/Geometry"
}, - {
- "$ref": "#/components/schemas/GeometryCollection"
}
]
}, - "properties": {
- "$id": "#/definitions/properties",
- "title": "Properties object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "object"
}
]
}, - "movingFeature": {
- "$id": "#/definitions/movingFeature",
- "title": "MovingFeature object in a MF-JSON Prism",
- "type": "object",
- "required": [
- "type",
- "temporalGeometry"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Feature"
]
}, - "temporalGeometry": {
- "$ref": "#/components/schemas/temporalGeometry"
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}, - "temporalProperties": {
- "$ref": "#/components/schemas/temporalProperties"
}, - "bbox": {
- "$ref": "#/components/schemas/bbox"
}, - "time": {
- "$ref": "#/components/schemas/time"
}, - "geometry": {
- "$ref": "#/components/schemas/geometry"
}, - "properties": {
- "$ref": "#/components/schemas/properties"
}, - "id": {
- "description": "An identifier for the feature",
- "oneOf": [
- {
- "type": "string"
}, - {
- "type": "number"
}
]
}
}
}, - "movingFeatureCollection": {
- "$id": "#/definitions/movingFeatureCollection",
- "title": "MovingFeatureCollection object in a MF-JSON Prism",
- "type": "object",
- "required": [
- "type",
- "features"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "FeatureCollection"
]
}, - "features": {
- "type": "array",
- "minItems": 1,
- "items": {
- "$ref": "#/components/schemas/movingFeature"
}
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}, - "bbox": {
- "$ref": "#/components/schemas/bbox"
}, - "time": {
- "$ref": "#/components/schemas/time"
}, - "label": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "string"
}
]
}
}
}, - "pointCoordinates": {
- "type": "array,",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}, - "lineStringCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "minItems": "2,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "polygonCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "minItems": "4,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "multiPointCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "temporalGeometry-2": {
- "type": "object",
- "required": [
- "id",
- "type",
- "coordinates",
- "datetimes",
- "interpolation"
], - "properties": {
- "id": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "MovingPoint",
- "MovingLineString",
- "MovingPolygon",
- "MovingPointCloud"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/pointCoordinates"
}, - {
- "$ref": "#/components/schemas/lineStringCoordinates"
}, - {
- "$ref": "#/components/schemas/polygonCoordinates"
}, - {
- "$ref": "#/components/schemas/multiPointCoordinates"
}
]
}
}, - "datetimes": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 2,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "interpolation": {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Quadratic",
- "Cube"
]
}, - "base": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}, - "orientations": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "object",
- "required": [
- "scales",
- "angles"
], - "properties": {
- "scales": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 2,
- "maxItems": 2
}, - {
- "minItems": 3,
- "maxItems": 3
}
], - "items": {
- "type": "number"
}
}, - "angles": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 2,
- "maxItems": 2
}, - {
- "minItems": 3,
- "maxItems": 3
}
], - "items": {
- "type": "number"
}
}
}
}
}
}
}, - "temporalGeometryCollection": {
- "type": "object",
- "required": [
- "temporalGeometries"
], - "properties": {
- "temporalGeometries": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalGeometry-2"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "temporalProperty": {
- "type": "object",
- "required": [
- "name",
- "type"
], - "properties": {
- "name": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "TBool",
- "TText",
- "TInt",
- "TFloat",
- "TImage"
]
}, - "form": {
- "oneOf": [
- {
- "type": "string",
- "format": "uri"
}, - {
- "type": "string",
- "minLength": 3,
- "maxLength": 3
}
]
}, - "description": {
- "type": "string"
}
}
}, - "temporalPropertyCollection": {
- "type": "object",
- "required": [
- "temporalProperties"
], - "properties": {
- "temporalProperties": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalProperty"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "link.yaml"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "temporalValue": {
- "type": "object",
- "required": [
- "datetimes",
- "values",
- "interpolation"
], - "properties": {
- "datetimes": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 2,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "values": {
- "oneOf": [
- {
- "type": "number"
}, - {
- "type": "string"
}, - {
- "type": "boolean"
}
]
}, - "interpolation": {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Regression"
]
}
}
}, - "temporalValueCollection": {
- "type": "object",
- "required": [
- "values"
], - "properties": {
- "values": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalValue"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "link.yaml"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}
}, - "responses": {
- "LandingPage": {
- "description": "The links to the API capabilities.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/landingPage"
}
}
}
}, - "ServerError": {
- "description": "A server error occurred.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/exception"
}, - "example": {
- "code": "500",
- "description": "Server Internal Error"
}
}
}
}, - "Conformance": {
- "description": "The URIs of all requirements classes supported by the server.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/confClasses"
}
}
}
}, - "Collections": {
- "description": "A list of catalogs about collections of moving features.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collections"
}, - "example": {
- "collections": [
- {
- "id": "mfc-1",
- "title": "moving_feature_collection_sample",
- "itemType": "movingfeature",
- "updateFrequency": 1000,
- "extent": {
- "temporal": {
- "interval": [
- "2011-11-11T12:22:11Z",
- "2012-11-24T12:32:43Z"
],
}
}, - "links": [
]
}
], - "links": [
]
}
}
}
}, - "Collection": {
- "description": "The metadata being returned.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection"
}, - "example": {
- "id": "mfc-1",
- "title": "moving_feature_collection_sample",
- "itemType": "movingfeature",
- "updateFrequency": 1000,
- "extent": {
- "temporal": {
- "interval": [
- "2011-11-11T12:22:11Z",
- "2012-11-24T12:32:43Z"
],
}
}, - "links": [
]
}
}
}
}, - "MovingFeatures": {
- "description": "A list of static data of moving feature.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/movingFeatureCollectionGeoJSON"
}, - "example": {
- "type": "FeatureCollection",
- "features": [
- {
- "id": "mf-1",
- "type": "Feature",
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- -122.308150179,
- 37.488035566
], - [
- -122.597502109,
- 37.538869539
], - [
- -122.576687533,
- 37.613537207
], - [
- -122.2880486,
- 37.562818007
], - [
- -122.308150179,
- 37.488035566
]
]
}, - "properties": {
- "label": "car"
}, - "bbox": [
- -122.59750209,
- 37.48803556,
- -122.2880486,
- 37.613537207
], - "interval": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
]
}
], - "links": [
- {
- "rel": "self",
- "type": "application/geo+json"
}, - {
- "rel": "next",
- "type": "application/geo+json"
}
], - "timeStamp": "2020-01-01T12:00:00Z",
- "numberMatched": 100,
- "numberReturned": 1
}
}
}
}, - "MovingFeature": {
- "description": "A moving feature static data.",
- "content": {
- "application/geo+json": {
- "schema": {
- "$ref": "#/components/schemas/movingFeatureGeoJSON"
}, - "example": {
- "id": "mf-1",
- "type": "Feature",
- "geometry": {
- "type": "LineString",
- "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
]
}, - "properties": {
- "name": "car1",
- "state": "test1",
}, - "bbox": [
- 139.757083,
- 35.627483,
- 0,
- 139.757716,
- 35.627701,
- 4.5
], - "interval": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
]
}
}
}
}, - "TemporalGeometryCollection": {
- "description": "A list of Temporalgeometry data.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalGeometryCollection"
}, - "example": {
- "temporalGeometries": [
- {
- "id": "tg-1",
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z"
], - "coordinates": [
- [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}
]
}
], - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 100,
- "numberReturned": 1
}
}
}
}, - "TemporalPropertyCollection": {
- "description": "A list of static data of Temporalproperty.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalPropertyCollection"
}, - "example": {
- "temporalProperties": [
- {
- "name": "speed",
- "type": "TFloat",
- "form": "KHM"
}
], - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 10,
- "numberReturned": 2
}
}
}
}, - "TemporalValueCollection": {
- "description": "A list of Temporal Value data.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalValueCollection"
}, - "example": {
- "values": [
- {
- "datetimes": [
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z"
], - "values": [
- 65,
- 70,
- 80
], - "interpolation": "Linear"
}, - {
- "datetimes": [
- "2011-07-15T08:00:00Z",
- "2011-07-15T08:00:01Z",
- "2011-07-15T08:00:02Z"
], - "values": [
- 0,
- 20,
- 50
], - "interpolation": "Linear"
}
], - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 20,
- "numberReturned": 2
}
}
}
}
}, - "parameters": {
- "bbox": {
- "name": "bbox",
- "in": "query",
- "description": "Only features that have a geometry that intersects the bounding box are selected.\nThe bounding box is provided as four or six numbers, depending on whether the\ncoordinate reference system includes a vertical axis (height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\n\nIf the value consists of four numbers, the coordinate reference system is\nWGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)\nunless a different coordinate reference system is specified in the parameter `bbox-crs`.\n\nIf the value consists of six numbers, the coordinate reference system is WGS 84 \nlongitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)\nunless a different coordinate reference system is specified in the parameter `bbox-crs`.\n\nThe query parameter `bbox-crs` is specified in OGC API - Features - Part 2: Coordinate \nReference Systems by Reference.\n\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\n\nIf the vertical axis is included, the third and the sixth number are the\nbottom and the top of the 3-dimensional bounding box.\n\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries.",
- "required": false,
- "schema": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}
}, - "style": "form",
- "explode": false
}, - "datetime": {
- "name": "datetime",
- "in": "query",
- "description": "Either a date-time or an interval. Date and time expressions adhere to RFC 3339. \nIntervals may be bounded or half-bounded (double-dots at start or end).\n\nExamples:\n\n* A date-time: \"2018-02-12T23:20:50Z\"\n* A bounded interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\"\n* Half-bounded intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\n\nOnly features that have a temporal property that intersects the value of\n`datetime` are selected.\n\nIf a feature has multiple temporal properties, it is the decision of the\nserver whether only a single temporal property is used to determine\nthe extent or all relevant temporal properties.",
- "required": false,
- "schema": {
- "type": "string"
}, - "style": "form",
- "explode": false
}, - "limit": {
- "name": "limit",
- "in": "query",
- "description": "The optional limit parameter limits the number of items that are presented in the response document.\n\nOnly items are counted that are on the first level of the collection in the response document.\nNested objects contained within the explicitly requested items shall not be counted.\n\nMinimum = 1. Maximum = 10000. Default = 10.",
- "required": false,
- "schema": {
- "type": "integer",
- "minimum": 1,
- "maximum": 10000,
- "default": 10
}, - "style": "form",
- "explode": false
}, - "collectionId": {
- "name": "collectionId",
- "in": "path",
- "description": "local identifier of a collection",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "mFeatureId": {
- "name": "mFeatureId",
- "in": "path",
- "description": "local identifier of a moving feature",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "leaf": {
- "name": "leaf",
- "in": "query",
- "required": false,
- "schema": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 1,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "style": "form",
- "explode": false
}, - "tGeometryId": {
- "name": "tGeometryId",
- "in": "path",
- "description": "local identifier of a temporal geometry",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "tPropertyName": {
- "name": "tPropertiesName",
- "in": "path",
- "description": "local identifier of a temporal properties",
- "required": true,
- "schema": {
- "type": "string"
}
}
}
}
}
}
}
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections": {
- "get": {
- "operationId": "searchCatalog",
- "summary": "Retrieve catalogs of moving features collection",
- "description": "A user can retrieve catalogs to access collections by simple filtering and a limit.\n",
- "tags": [
- "Capabilities"
], - "parameters": [
- {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Collections"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "registerMetadata",
- "summary": "Register metadata about a collection of moving features",
- "description": "A user SHOULD register metadata about a collection of moving features into the system.\n",
- "tags": [
- "MovingFeatureCollection"
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection-2"
}, - "example": {
- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful create a collection to manage moving features.",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
}
}, - "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "required": [
- "id"
], - "properties": {
- "id": {
- "type": "string",
- "description": "Newly added resource ID"
}
}, - "example": {
- "id": "mfc-1"
}
}
}
}
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}": {
- "get": {
- "operationId": "accessMetadata",
- "summary": "Access metadata about the collection",
- "description": "A user can access metadata with id `collectionId`.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Collection"
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteCollection",
- "summary": "Delete the collection",
- "description": "The collection catalog with id `collectionId` and including metadata and moving features SHOULD be deleted.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "A collection with the specified name was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "put": {
- "operationId": "replaceMetadata",
- "summary": "Replace metadata about the collection",
- "description": "A user SHOULD replace metadata with id `collectionId`.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection-2"
}, - "example": {
- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}
}
}
}, - "responses": {
- "204": {
- "description": "Successfully replaced."
}, - "404": {
- "description": "A collection with the specified name was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items": {
- "get": {
- "operationId": "retrieveMovingFeatures",
- "summary": "Retrieve moving feature collection",
- "description": "A user can retrieve moving feature collection to access the static information of the moving feature by simple filtering and a limit.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/MovingFeatures"
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertMovingFeatures",
- "summary": "Insert moving features",
- "description": "A user SHOULD insert a set of moving features or a moving feature into a collection with id `collectionId`.\n\nThe request body schema SHALL follows the [MovingFeature object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#mfeature) \n(and [MovingFeatureCollection object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#mfeaturecollection)) in the OGC MF-JSON.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/movingFeature"
}, - {
- "$ref": "#/components/schemas/movingFeatureCollection"
}
], - "example": {
- "type": "Feature",
- "crs": {
- "type": "Name",
- "properties": {
- "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}, - "trs": {
- "type": "Link",
}, - "temporalGeometry": {
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:01Z",
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z",
- "2011-07-14T22:01:05Z"
], - "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 270
]
}
]
}, - "temporalProperties": [
- {
- "datetimes": [
- "2011-07-14T22:01:01.450Z",
- "2011-07-14T23:01:01.450Z",
- "2011-07-15T00:01:01.450Z"
], - "length": {
- "type": "Measure",
- "values": [
- 1,
- 2.4,
- 1
], - "interpolation": "Linear"
}, - "discharge": {
- "type": "Measure",
- "form": "MQS",
- "values": [
- 3,
- 4,
- 5
], - "interpolation": "Step"
}
}, - {
- "datetimes": [
- 1465621816590,
- 1465711526300
], - "camera": {
- "type": "Image",
- "values": [
- "iVBORw0KGgoAAAANSUhEU......"
], - "interpolation": "Discrete"
}, - "labels": {
- "type": "Text",
- "values": [
- "car",
- "human"
], - "interpolation": "Discrete"
}
}
], - "geometry": {
- "type": "LineString",
- "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
]
}, - "properties": {
- "name": "car1",
- "state": "test1",
}, - "bbox": [
- 139.757083,
- 35.627483,
- 0,
- 139.757716,
- 35.627701,
- 4.5
], - "time": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
], - "id": "mf-1"
}
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful create a set of moving features or a moving feature into a specific collection.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
}
}
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}": {
- "get": {
- "operationId": "accessMovingFeature",
- "summary": "Access the static data of the moving feature",
- "description": "A user can access a static data of a moving feature with id `mFeatureId`.\n\nThe static data of a moving feature is not included temporal geometries and temporal properties.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/MovingFeature"
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteMovingFeature",
- "summary": "Delete a single moving feature",
- "description": "The moving feature with id `mFeatureId` and including temporal geometries and properties SHOULD be deleted.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tgeometries": {
- "get": {
- "operationId": "retrieveTemporalGeometries",
- "summary": "Retrieve the movement data of the single moving feature",
- "description": "A user can retrieve only the movement data of a moving feature with id `mFeatureId`.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/leaf"
}, - {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalGeometryCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalGeometry",
- "summary": "Add movement data into the moving feature",
- "description": "A user SHOULD add more movement data into a moving feature with id `mFeatureId`.\n\nThe request body schema SHALL follows the [TemporalGeometry object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#tgeometry) in the OGC MF-JSON.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalGeometry"
}, - "example": {
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:06Z",
- "2011-07-14T22:01:07Z",
- "2011-07-14T22:01:08Z",
- "2011-07-14T22:01:09Z",
- "2011-07-14T22:01:10Z"
], - "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 270
]
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more movement data into a specified moving feature.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tgeometries/{tGeometryId}": {
- "delete": {
- "operationId": "deleteTemporalGeometry",
- "summary": "Delete a singe temporal geometry",
- "description": "The temporal geometry with id `tGeometryId` SHOULD be deleted.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tGeometryId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal geometry with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tproperties": {
- "get": {
- "operationId": "retrieveTemporalPropertyCollection",
- "summary": "Retrieve the static information of the temporal properties data",
- "description": "A user can retrieve only the static information of the temporal property data that included a single moving feature with id `mFeatureId`.\n\nThe static data of a temporal property is not included temporal values (property `values`).\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalPropertyCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalProperty",
- "summary": "Add temporal property data",
- "description": "A user SHOULD add more temporal property data into a moving feature with id `mFeatureId`.\n\nThe request body schema SHALL follows the [TemporalProperties object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#tproperties) in the OGC MF-JSON.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalProperties"
}, - "example": {
- "temporalProperties": [
- {
- "datetimes": [
- "2011-07-14T22:01:01.450Z",
- "2011-07-14T23:01:01.450Z",
- "2011-07-15T00:01:01.450Z"
], - "length": {
- "type": "Measure",
- "values": [
- 1,
- 2.4,
- 1
], - "interpolation": "Linear"
}, - "discharge": {
- "type": "Measure",
- "form": "MQS",
- "values": [
- 3,
- 4,
- 5
], - "interpolation": "Step"
}
}, - {
- "datetimes": [
- 1465621816590,
- 1465711526300
], - "camera": {
- "type": "Image",
- "values": [
- "iVBORw0KGgoAAAANSUhEU......"
], - "interpolation": "Discrete"
}, - "labels": {
- "type": "Text",
- "values": [
- "car",
- "human"
], - "interpolation": "Discrete"
}
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more temporal property into a specified moving feature.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tproperties/{tPropertyName}": {
- "get": {
- "operationId": "retrieveTemporalProperty",
- "summary": "Retrieve a temporal property",
- "description": "A user can retrieve only the temporal values with a specified name `tPropertyName` of temporal property.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}, - {
- "$ref": "#/components/parameters/leaf"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalValueCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalValues",
- "summary": "Add temporal values data",
- "description": "A user SHOULD add more temporal values data into a temporal property with id `tPropertyName`.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalValue"
}, - "example": {
- "datetimes": [
- "2011-07-15T08:00:00Z",
- "2011-07-15T08:00:01Z",
- "2011-07-15T08:00:02Z"
], - "values": [
- 0,
- 20,
- 50
], - "interpolation": "Linear"
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more temporal values data into a specified temporal property.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal property with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteTemporalProperty",
- "summary": "Delete a specified temporal property",
- "description": "The temporal property with id `tPropertyName` SHOULD be deleted.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal property with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}
}, - "components": {
- "schemas": {
- "link": {
- "type": "object",
- "required": [
- "href",
- "rel"
], - "properties": {
- "rel": {
- "type": "string",
- "example": "alternate"
}, - "type": {
- "type": "string",
- "example": "application/geo+json"
}, - "hreflang": {
- "type": "string",
- "example": "en"
}, - "title": {
- "type": "string",
- "example": "moving features"
}, - "length": {
- "type": "integer"
}
}
}, - "landingPage": {
- "type": "object",
- "required": [
- "links"
], - "properties": {
- "title": {
- "type": "string",
- "example": "Movingfeatures data server"
}, - "description": {
- "type": "string",
- "example": "Access to data about moving features"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "exception": {
- "type": "object",
- "required": [
- "code"
], - "properties": {
- "code": {
- "type": "string"
}, - "description": {
- "type": "string"
}
}
}, - "confClasses": {
- "type": "object",
- "required": [
- "conformsTo"
], - "properties": {
- "conformsTo": {
- "type": "array",
}
}
}, - "extent": {
- "description": "The extent of the features in the collection. In the Core only spatial and temporal\nextents are specified. Extensions may add additional members to represent other\nextents, for example, thermal or pressure ranges.\n\nAn array of extents is provided for each extent type (spatial, temporal). The first item \nin the array describes the overall extent of the data. All subsequent items describe more \nprecise extents, e.g., to identify clusters of data. Clients only interested in the \noverall extent will only need to access the first extent in the array.",
- "type": "object",
- "properties": {
- "spatial": {
- "description": "The spatial extent of the features in the collection.",
- "type": "object",
- "properties": {
- "bbox": {
- "description": "One or more bounding boxes that describe the spatial extent of the dataset.\nIn the Core only a single bounding box is supported.\n\nExtensions may support additional areas.\nThe first bounding box describes the overall spatial\nextent of the data. All subsequent bounding boxes describe \nmore precise bounding boxes, e.g., to identify clusters of data.\nClients only interested in the overall spatial extent will\nonly need to access the first bounding box in the array.",
- "type": "array",
- "minItems": 1,
- "items": {
- "description": "Each bounding box is provided as four or six numbers, depending on\nwhether the coordinate reference system includes a vertical axis\n(height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\n\nIf the value consists of four numbers, the coordinate reference system is\nWGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)\nunless a different coordinate reference system is specified in `crs`.\n\nIf the value consists of six numbers, the coordinate reference system is WGS 84 \nlongitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)\nunless a different coordinate reference system is specified in `crs`.\n\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\n\nIf the vertical axis is included, the third and the sixth number are\nthe bottom and the top of the 3-dimensional bounding box.\n\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries.",
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}, - "example": [
- -180,
- -90,
- 180,
- 90
]
}
}, - "crs": {
- "description": "Coordinate reference system of the coordinates in the spatial extent\n(property `bbox`). The default reference system is WGS 84 longitude/latitude.\nIn the Core the only other supported coordinate reference system is\nWGS 84 longitude/latitude/ellipsoidal height for coordinates with height.\nExtensions may support additional coordinate reference systems and add\nadditional enum values.",
- "type": "string",
}
}
}, - "temporal": {
- "description": "The temporal extent of the features in the collection.",
- "type": "object",
- "properties": {
- "interval": {
- "description": "One or more time intervals that describe the temporal extent of the dataset.\nIn the Core only a single time interval is supported.\n\nExtensions may support multiple intervals.\nThe first time interval describes the overall\ntemporal extent of the data. All subsequent time intervals describe \nmore precise time intervals, e.g., to identify clusters of data.\nClients only interested in the overall temporal extent will only need\nto access the first time interval in the array (a pair of lower and upper \nbound instants).",
- "type": "array",
- "minItems": 1,
- "items": {
- "description": "Begin and end times of the time interval. The timestamps are in the\ntemporal coordinate reference system specified in `trs`. By default\nthis is the Gregorian calendar.\n\nThe value `null` at start or end is supported and indicates a half-bounded interval.",
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "items": {
- "type": "string",
- "format": "date-time",
- "nullable": true
}, - "example": [
- "2011-11-11T12:22:11Z",
- null
]
}
}, - "trs": {
- "description": "Coordinate reference system of the coordinates in the temporal extent\n(property `interval`). The default reference system is the Gregorian calendar.\nIn the Core this is the only supported temporal coordinate reference system.\nExtensions may support additional temporal coordinate reference systems and add\nadditional enum values.",
- "type": "string",
}
}
}
}
}, - "collection": {
- "type": "object",
- "required": [
- "id",
- "links",
- "itemType"
], - "properties": {
- "id": {
- "description": "identifier of the collection used, for example, in URIs",
- "type": "string",
- "example": "address"
}, - "title": {
- "description": "human readable title of the collection",
- "type": "string",
- "example": "address"
}, - "description": {
- "description": "a description of the features in the collection",
- "type": "string",
- "example": "An address."
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}, - "example": [
]
}, - "extent": {
- "$ref": "#/components/schemas/extent"
}, - "itemType": {
- "description": "indicator about the type of the items in the collection",
- "type": "string",
- "default": "movingfeature"
}, - "crs": {
- "description": "the list of coordinate reference systems supported by the service",
- "type": "array",
- "items": {
- "type": "string"
},
}, - "updateFrequency": {
- "description": "a time interval of sampling location. The unit is millisecond.",
- "type": "number"
}
}
}, - "collections": {
- "type": "object",
- "required": [
- "collections",
- "links"
], - "properties": {
- "collections": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/collection"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "collection-2": {
- "type": "object",
- "properties": {
- "title": {
- "description": "human readable title of the collection",
- "type": "string"
}, - "updateFrequency": {
- "description": "a time interval of sampling location. The unit is millisecond.",
- "type": "number"
}, - "description": {
- "description": "any description",
- "type": "string"
}
}
}, - "pointGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "multipointGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "linestringGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "multilinestringGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}, - "polygonGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}, - "multipolygonGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}
}, - "geometryGeoJSON": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/pointGeoJSON"
}, - {
- "$ref": "#/components/schemas/multipointGeoJSON"
}, - {
- "$ref": "#/components/schemas/linestringGeoJSON"
}, - {
- "$ref": "#/components/schemas/multilinestringGeoJSON"
}, - {
- "$ref": "#/components/schemas/polygonGeoJSON"
}, - {
- "$ref": "#/components/schemas/multipolygonGeoJSON"
}, - {
- "$ref": "#/components/schemas/geometrycollectionGeoJSON"
}
]
}, - "geometrycollectionGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "geometries"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "GeometryCollection"
]
}, - "geometries": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/geometryGeoJSON"
}
}
}
}, - "crs": {
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "oneOf": [
- [
- {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}
}, - {
- "properties": {
- "type": "object",
- "required": [
- "name"
], - "properties": [
- {
- "name": {
- "type": "string",
- "default": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}
]
}
}
], - [
- {
- "type": {
- "type": "string",
- "enum": [
- "Link"
]
}
}, - {
- "properties": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": [
- {
- "href": {
- "type": "string",
- "format": "uri"
}
}, - {
- "type": {
- "type": "string"
}
}
]
}
}
]
]
}
}, - "trs": {
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "oneOf": [
- [
- {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}
}, - {
- "properties": {
- "type": "object",
- "required": [
- "name"
], - "properties": [
- {
- "name": {
- "type": "string",
- "default": "urn:ogc:data:time:iso8601"
}
}
]
}
}
], - [
- {
- "type": {
- "type": "string",
- "enum": [
- "Link"
]
}
}, - {
- "properties": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": [
- {
- "href": {
- "type": "string",
- "format": "uri"
}
}, - {
- "type": {
- "type": "string"
}
}
]
}
}
]
]
}
}, - "movingFeatureGeoJSON": {
- "type": "object",
- "required": [
- "id",
- "type",
- "geometry",
- "properties"
], - "properties": {
- "id": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "Feature"
]
}, - "geometry": {
- "$ref": "#/components/schemas/geometryGeoJSON"
}, - "properties": {
- "type": "object",
- "nullable": true
}, - "bbox": {
- "type": "array",
- "minItems": 1,
- "items": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}
}
}, - "time": {
- "type": "array",
- "minItems": 1,
- "items": {
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "items": {
- "type": "string",
- "format": "date-time",
- "nullable": true
}
}
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "movingFeatureCollectionGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "features"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "FeatureCollection"
]
}, - "features": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/movingFeatureGeoJSON"
}
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "datetimes": {
- "$id": "#/definitions/datetimes",
- "type": "array",
- "uniqueItems": true,
- "minItems": 1,
- "items": {
- "type": "string"
}
}, - "geometryInterpolation": {
- "$id": "#/definitions/geometryInterpolation",
- "title": "Interpolation method for TemporalPrimitiveGeometry (MotionCurve)",
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Quadratic",
- "Cube"
], - "default": "Linear"
}, - {
- "type": "string",
- "format": "uri"
}
]
}, - "orientation": {
- "$id": "#/definitions/orientation",
- "type": "object",
- "required": [
- "scales",
- "angles"
], - "properties": {
- "scales": {
- "type": "array",
- "minItems": 3,
- "maxItems": 3,
- "items": {
- "type": "number"
}
}, - "angles": {
- "type": "array",
- "minItems": 3,
- "maxItems": 3,
- "items": {
- "type": "number"
}
}
}
}, - "namedCRS": {
- "$id": "#/definitions/namedCRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}, - "properties": {
- "type": "object",
- "required": [
- "name"
], - "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string",
- "default": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}
}
}
}, - "linkedCRS": {
- "$id": "#/definitions/linkedCRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Link"
]
}, - "properties": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}
}
}, - "definitions-crs": {
- "$id": "#/definitions/crs",
- "title": "Coordinate Reference System",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "oneOf": [
- {
- "$ref": "#/components/schemas/namedCRS"
}, - {
- "$ref": "#/components/schemas/linkedCRS"
}
]
}, - "namedTRS": {
- "$id": "#/definitions/namedTRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}, - "properties": {
- "type": "object",
- "required": [
- "name"
], - "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string",
- "default": "urn:ogc:data:time:iso8601"
}
}
}
}
}, - "definitions-trs": {
- "$id": "#/definitions/trs",
- "title": "Temporal Coordinate Reference System",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "oneOf": [
- {
- "$ref": "#/components/schemas/namedTRS"
}, - {
- "$ref": "#/components/schemas/linkedCRS"
}
]
}, - "temporalPrimitiveGeometry": {
- "$id": "#/definitions/temporalPrimitiveGeometry",
- "type": "object",
- "title": "TemporalPrimitiveGeometry Object",
- "required": [
- "type",
- "datetimes",
- "coordinates"
], - "dependencies": {
- "orientations": [
- "base"
]
}, - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MovingPoint",
- "MovingLineString",
- "MovingPolygon",
- "MovingPointCloud"
]
}, - "datetimes": {
- "$ref": "#/components/schemas/datetimes"
}, - "coordinates": {
- "oneOf": [
- {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
]
}, - "interpolation": {
- "$ref": "#/components/schemas/geometryInterpolation"
}, - "base": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}
]
}, - "orientations": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/orientation"
}
}
]
}, - "crs": {
- "$ref": "#/components/schemas/definitions-crs"
}, - "trs": {
- "$ref": "#/components/schemas/definitions-trs"
}
}
}, - "temporalComplexGeometry": {
- "$id": "#/definitions/temporalComplexGeometry",
- "type": "object",
- "title": "TemporalComplexGeometry Object",
- "required": [
- "type",
- "prisms"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MovingGeometryCollection"
]
}, - "prisms": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalPrimitiveGeometry"
}
}, - "crs": {
- "$ref": "#/components/schemas/definitions-crs"
}, - "trs": {
- "$ref": "#/components/schemas/definitions-trs"
}
}
}, - "temporalGeometry": {
- "$id": "#/definitions/temporalGeometry",
- "title": "TemporalGeometry Object",
- "oneOf": [
- {
- "$ref": "#/components/schemas/temporalPrimitiveGeometry"
}, - {
- "$ref": "#/components/schemas/temporalComplexGeometry"
}
]
}, - "parametricValues": {
- "$id": "#/definitions/parametricValues",
- "type": "object",
- "required": [
- "datetimes"
], - "properties": {
- "datetimes": {
- "$ref": "#/components/schemas/datetimes"
}
}, - "patternProperties": {
- "^S_": {
- "oneOf": [
- {
- "$ref": "#/definitions/measureType"
}, - {
- "$ref": "#/definitions/textType"
}, - {
- "$ref": "#/definitions/imageType"
}
]
}
}
}, - "temporalProperties": {
- "$id": "#/definitions/temporalProperties",
- "title": "TemporalProperties Objects",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "items": [
- {
- "$ref": "#/components/schemas/parametricValues"
}
]
}
]
}, - "bbox": {
- "$id": "#/definitions/bbox",
- "title": "BoundingBox Object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
]
}, - "time": {
- "$id": "#/definitions/time",
- "title": "LifeSpan Object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "uniqueItems": true,
- "items": {
- "type": "string"
}
}
]
}, - "Geometry": {
- "title": "GeoJSON Geometry",
- "oneOf": [
- {
- "title": "GeoJSON Point",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON LineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON Polygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPoint",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiLineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPolygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}
]
}, - "GeometryCollection": {
- "title": "GeoJSON GeometryCollection",
- "type": "object",
- "required": [
- "type",
- "geometries"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "GeometryCollection"
]
}, - "geometries": {
- "type": "array",
- "items": {
- "oneOf": [
- {
- "title": "GeoJSON Point",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON LineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON Polygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPoint",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiLineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPolygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}
]
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - "geometry": {
- "$id": "#/definitions/geometry",
- "title": "GeoJSON Geometry object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "$ref": "#/components/schemas/Geometry"
}, - {
- "$ref": "#/components/schemas/GeometryCollection"
}
]
}, - "properties": {
- "$id": "#/definitions/properties",
- "title": "Properties object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "object"
}
]
}, - "movingFeature": {
- "$id": "#/definitions/movingFeature",
- "title": "MovingFeature object in a MF-JSON Prism",
- "type": "object",
- "required": [
- "type",
- "temporalGeometry"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Feature"
]
}, - "temporalGeometry": {
- "$ref": "#/components/schemas/temporalGeometry"
}, - "crs": {
- "$ref": "#/components/schemas/definitions-crs"
}, - "trs": {
- "$ref": "#/components/schemas/definitions-trs"
}, - "temporalProperties": {
- "$ref": "#/components/schemas/temporalProperties"
}, - "bbox": {
- "$ref": "#/components/schemas/bbox"
}, - "time": {
- "$ref": "#/components/schemas/time"
}, - "geometry": {
- "$ref": "#/components/schemas/geometry"
}, - "properties": {
- "$ref": "#/components/schemas/properties"
}, - "id": {
- "description": "An identifier for the feature",
- "oneOf": [
- {
- "type": "string"
}, - {
- "type": "number"
}
]
}
}
}, - "movingFeatureCollection": {
- "$id": "#/definitions/movingFeatureCollection",
- "title": "MovingFeatureCollection object in a MF-JSON Prism",
- "type": "object",
- "required": [
- "type",
- "features"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "FeatureCollection"
]
}, - "features": {
- "type": "array",
- "minItems": 1,
- "items": {
- "$ref": "#/components/schemas/movingFeature"
}
}, - "crs": {
- "$ref": "#/components/schemas/definitions-crs"
}, - "trs": {
- "$ref": "#/components/schemas/definitions-trs"
}, - "bbox": {
- "$ref": "#/components/schemas/bbox"
}, - "time": {
- "$ref": "#/components/schemas/time"
}, - "label": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "string"
}
]
}
}
}, - "pointCoordinates": {
- "type": "array,",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}, - "lineStringCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "minItems": "2,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "polygonCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "minItems": "4,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "multiPointCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "temporalGeometry-2": {
- "type": "object",
- "required": [
- "id",
- "type",
- "coordinates",
- "datetimes",
- "interpolation"
], - "properties": {
- "id": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "MovingPoint",
- "MovingLineString",
- "MovingPolygon",
- "MovingPointCloud"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/pointCoordinates"
}, - {
- "$ref": "#/components/schemas/lineStringCoordinates"
}, - {
- "$ref": "#/components/schemas/polygonCoordinates"
}, - {
- "$ref": "#/components/schemas/multiPointCoordinates"
}
]
}
}, - "datetimes": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 2,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "interpolation": {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Quadratic",
- "Cube"
]
}, - "base": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}, - "orientations": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "object",
- "required": [
- "scales",
- "angles"
], - "properties": {
- "scales": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 2,
- "maxItems": 2
}, - {
- "minItems": 3,
- "maxItems": 3
}
], - "items": {
- "type": "number"
}
}, - "angles": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 2,
- "maxItems": 2
}, - {
- "minItems": 3,
- "maxItems": 3
}
], - "items": {
- "type": "number"
}
}
}
}
}
}
}, - "temporalGeometryCollection": {
- "type": "object",
- "required": [
- "type",
- "prisms"
], - "properties": {
- "type": {
- "type": "string",
- "default": "MovingGeometryCollection"
}, - "prisms": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalGeometry-2"
}
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "temporalProperty": {
- "type": "object",
- "required": [
- "name",
- "type"
], - "properties": {
- "name": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "TBool",
- "TText",
- "TInt",
- "TFloat",
- "TImage"
]
}, - "form": {
- "oneOf": [
- {
- "type": "string",
- "format": "uri"
}, - {
- "type": "string",
- "minLength": 3,
- "maxLength": 3
}
]
}, - "description": {
- "type": "string"
}
}
}, - "temporalPropertyCollection": {
- "type": "object",
- "required": [
- "temporalProperties"
], - "properties": {
- "temporalProperties": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalProperty"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "link.yaml"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "temporalValue": {
- "type": "object",
- "required": [
- "datetimes",
- "values",
- "interpolation"
], - "properties": {
- "datetimes": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 2,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "values": {
- "oneOf": [
- {
- "type": "number"
}, - {
- "type": "string"
}, - {
- "type": "boolean"
}
]
}, - "interpolation": {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Regression"
]
}
}
}, - "temporalValueCollection": {
- "type": "object",
- "required": [
- "values"
], - "properties": {
- "values": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalValue"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "link.yaml"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}
}, - "responses": {
- "LandingPage": {
- "description": "The links to the API capabilities.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/landingPage"
}
}
}
}, - "ServerError": {
- "description": "A server error occurred.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/exception"
}, - "example": {
- "code": "500",
- "description": "Server Internal Error"
}
}
}
}, - "Conformance": {
- "description": "The URIs of all requirements classes supported by the server.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/confClasses"
}
}
}
}, - "Collections": {
- "description": "A list of catalogs about collections of moving features.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collections"
}, - "example": {
- "collections": [
- {
- "id": "mfc-1",
- "title": "moving_feature_collection_sample",
- "itemType": "movingfeature",
- "updateFrequency": 1000,
- "extent": {
- "temporal": {
- "interval": [
- "2011-11-11T12:22:11Z",
- "2012-11-24T12:32:43Z"
],
}
}, - "links": [
]
}
], - "links": [
]
}
}
}
}, - "Collection": {
- "description": "The metadata being returned.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection"
}, - "example": {
- "id": "mfc-1",
- "title": "moving_feature_collection_sample",
- "itemType": "movingfeature",
- "updateFrequency": 1000,
- "extent": {
- "temporal": {
- "interval": [
- "2011-11-11T12:22:11Z",
- "2012-11-24T12:32:43Z"
],
}
}, - "links": [
]
}
}
}
}, - "MovingFeatures": {
- "description": "A list of static data of moving feature.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/movingFeatureCollectionGeoJSON"
}, - "example": {
- "type": "FeatureCollection",
- "features": [
- {
- "id": "mf-1",
- "type": "Feature",
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- -122.308150179,
- 37.488035566
], - [
- -122.597502109,
- 37.538869539
], - [
- -122.576687533,
- 37.613537207
], - [
- -122.2880486,
- 37.562818007
], - [
- -122.308150179,
- 37.488035566
]
]
}, - "properties": {
- "label": "car"
}, - "bbox": [
- -122.59750209,
- 37.48803556,
- -122.2880486,
- 37.613537207
], - "time": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}
}
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}, - "links": [
- {
- "rel": "self",
- "type": "application/geo+json"
}, - {
- "rel": "next",
- "type": "application/geo+json"
}
], - "timeStamp": "2020-01-01T12:00:00Z",
- "numberMatched": 100,
- "numberReturned": 1
}
}
}
}, - "MovingFeature": {
- "description": "A moving feature static data.",
- "content": {
- "application/geo+json": {
- "schema": {
- "$ref": "#/components/schemas/movingFeatureGeoJSON"
}, - "example": {
- "id": "mf-1",
- "type": "Feature",
- "geometry": {
- "type": "LineString",
- "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
]
}, - "properties": {
- "name": "car1",
- "state": "test1",
}, - "bbox": [
- 139.757083,
- 35.627483,
- 0,
- 139.757716,
- 35.627701,
- 4.5
], - "time": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}
}
}
}
}, - "TemporalGeometryCollection": {
- "description": "A list of Temporalgeometry data.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalGeometryCollection"
}, - "example": {
- "type": "MovingGeometryCollection",
- "prisms": [
- {
- "id": "tg-1",
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z"
], - "coordinates": [
- [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}
]
}
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}, - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 100,
- "numberReturned": 1
}
}
}
}, - "TemporalPropertyCollection": {
- "description": "A list of static data of Temporalproperty.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalPropertyCollection"
}, - "example": {
- "temporalProperties": [
- {
- "name": "speed",
- "type": "TFloat",
- "form": "KHM"
}
], - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 10,
- "numberReturned": 2
}
}
}
}, - "TemporalValueCollection": {
- "description": "A list of Temporal Value data.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalValueCollection"
}, - "example": {
- "values": [
- {
- "datetimes": [
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z"
], - "values": [
- 65,
- 70,
- 80
], - "interpolation": "Linear"
}, - {
- "datetimes": [
- "2011-07-15T08:00:00Z",
- "2011-07-15T08:00:01Z",
- "2011-07-15T08:00:02Z"
], - "values": [
- 0,
- 20,
- 50
], - "interpolation": "Linear"
}
], - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 20,
- "numberReturned": 2
}
}
}
}
}, - "parameters": {
- "bbox": {
- "name": "bbox",
- "in": "query",
- "description": "Only features that have a geometry that intersects the bounding box are selected.\nThe bounding box is provided as four or six numbers, depending on whether the\ncoordinate reference system includes a vertical axis (height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\n\nIf the value consists of four numbers, the coordinate reference system is\nWGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)\nunless a different coordinate reference system is specified in the parameter `bbox-crs`.\n\nIf the value consists of six numbers, the coordinate reference system is WGS 84 \nlongitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)\nunless a different coordinate reference system is specified in the parameter `bbox-crs`.\n\nThe query parameter `bbox-crs` is specified in OGC API - Features - Part 2: Coordinate \nReference Systems by Reference.\n\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\n\nIf the vertical axis is included, the third and the sixth number are the\nbottom and the top of the 3-dimensional bounding box.\n\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries.",
- "required": false,
- "schema": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}
}, - "style": "form",
- "explode": false
}, - "datetime": {
- "name": "datetime",
- "in": "query",
- "description": "Either a date-time or an interval. Date and time expressions adhere to RFC 3339. \nIntervals may be bounded or half-bounded (double-dots at start or end).\n\nExamples:\n\n* A date-time: \"2018-02-12T23:20:50Z\"\n* A bounded interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\"\n* Half-bounded intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\n\nOnly features that have a temporal property that intersects the value of\n`datetime` are selected.\n\nIf a feature has multiple temporal properties, it is the decision of the\nserver whether only a single temporal property is used to determine\nthe extent or all relevant temporal properties.",
- "required": false,
- "schema": {
- "type": "string"
}, - "style": "form",
- "explode": false
}, - "limit": {
- "name": "limit",
- "in": "query",
- "description": "The optional limit parameter limits the number of items that are presented in the response document.\n\nOnly items are counted that are on the first level of the collection in the response document.\nNested objects contained within the explicitly requested items shall not be counted.\n\nMinimum = 1. Maximum = 10000. Default = 10.",
- "required": false,
- "schema": {
- "type": "integer",
- "minimum": 1,
- "maximum": 10000,
- "default": 10
}, - "style": "form",
- "explode": false
}, - "collectionId": {
- "name": "collectionId",
- "in": "path",
- "description": "local identifier of a collection",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "mFeatureId": {
- "name": "mFeatureId",
- "in": "path",
- "description": "local identifier of a moving feature",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "leaf": {
- "name": "leaf",
- "in": "query",
- "required": false,
- "schema": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 1,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "style": "form",
- "explode": false
}, - "tGeometryId": {
- "name": "tGeometryId",
- "in": "path",
- "description": "local identifier of a temporal geometry",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "tPropertyName": {
- "name": "tPropertiesName",
- "in": "path",
- "description": "local identifier of a temporal properties",
- "required": true,
- "schema": {
- "type": "string"
}
}
}
}
}
}
}
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections": {
- "get": {
- "operationId": "searchCatalog",
- "summary": "Retrieve catalogs of moving features collection",
- "description": "A user can retrieve catalogs to access collections by simple filtering and a limit.\n",
- "tags": [
- "Capabilities"
], - "parameters": [
- {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Collections"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "registerMetadata",
- "summary": "Register metadata about a collection of moving features",
- "description": "A user SHOULD register metadata about a collection of moving features into the system.\n",
- "tags": [
- "MovingFeatureCollection"
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection-2"
}, - "example": {
- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful create a collection to manage moving features.",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
}
}, - "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "required": [
- "id"
], - "properties": {
- "id": {
- "type": "string",
- "description": "Newly added resource ID"
}
}, - "example": {
- "id": "mfc-1"
}
}
}
}
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}": {
- "get": {
- "operationId": "accessMetadata",
- "summary": "Access metadata about the collection",
- "description": "A user can access metadata with id `collectionId`.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Collection"
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteCollection",
- "summary": "Delete the collection",
- "description": "The collection catalog with id `collectionId` and including metadata and moving features SHOULD be deleted.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "A collection with the specified name was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "put": {
- "operationId": "replaceMetadata",
- "summary": "Replace metadata about the collection",
- "description": "A user SHOULD replace metadata with id `collectionId`.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection-2"
}, - "example": {
- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}
}
}
}, - "responses": {
- "204": {
- "description": "Successfully replaced."
}, - "404": {
- "description": "A collection with the specified name was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items": {
- "get": {
- "operationId": "retrieveMovingFeatures",
- "summary": "Retrieve moving feature collection",
- "description": "A user can retrieve moving feature collection to access the static information of the moving feature by simple filtering and a limit.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/MovingFeatures"
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertMovingFeatures",
- "summary": "Insert moving features",
- "description": "A user SHOULD insert a set of moving features or a moving feature into a collection with id `collectionId`.\n\nThe request body schema SHALL follows the [MovingFeature object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#mfeature) \n(and [MovingFeatureCollection object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#mfeaturecollection)) in the OGC MF-JSON.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/movingFeature"
}, - {
- "$ref": "#/components/schemas/movingFeatureCollection"
}
], - "example": {
- "type": "Feature",
- "crs": {
- "type": "Name",
- "properties": {
- "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}, - "trs": {
- "type": "Link",
}, - "temporalGeometry": {
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:01Z",
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z",
- "2011-07-14T22:01:05Z"
], - "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 270
]
}
]
}, - "temporalProperties": [
- {
- "datetimes": [
- "2011-07-14T22:01:01.450Z",
- "2011-07-14T23:01:01.450Z",
- "2011-07-15T00:01:01.450Z"
], - "length": {
- "type": "Measure",
- "values": [
- 1,
- 2.4,
- 1
], - "interpolation": "Linear"
}, - "discharge": {
- "type": "Measure",
- "form": "MQS",
- "values": [
- 3,
- 4,
- 5
], - "interpolation": "Step"
}
}, - {
- "datetimes": [
- 1465621816590,
- 1465711526300
], - "camera": {
- "type": "Image",
- "values": [
- "iVBORw0KGgoAAAANSUhEU......"
], - "interpolation": "Discrete"
}, - "labels": {
- "type": "Text",
- "values": [
- "car",
- "human"
], - "interpolation": "Discrete"
}
}
], - "geometry": {
- "type": "LineString",
- "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
]
}, - "properties": {
- "name": "car1",
- "state": "test1",
}, - "bbox": [
- 139.757083,
- 35.627483,
- 0,
- 139.757716,
- 35.627701,
- 4.5
], - "time": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
], - "id": "mf-1"
}
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful create a set of moving features or a moving feature into a specific collection.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
}
}
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}": {
- "get": {
- "operationId": "accessMovingFeature",
- "summary": "Access the static data of the moving feature",
- "description": "A user can access a static data of a moving feature with id `mFeatureId`.\n\nThe static data of a moving feature is not included temporal geometries and temporal properties.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/MovingFeature"
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteMovingFeature",
- "summary": "Delete a single moving feature",
- "description": "The moving feature with id `mFeatureId` and including temporal geometries and properties SHOULD be deleted.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tgeometries": {
- "get": {
- "operationId": "retrieveTemporalGeometries",
- "summary": "Retrieve the movement data of the single moving feature",
- "description": "A user can retrieve only the movement data of a moving feature with id `mFeatureId`.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/leaf"
}, - {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalGeometryCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalGeometry",
- "summary": "Add movement data into the moving feature",
- "description": "A user SHOULD add more movement data into a moving feature with id `mFeatureId`.\n\nThe request body schema SHALL follows the [TemporalGeometry object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#tgeometry) in the OGC MF-JSON.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalGeometry"
}, - "example": {
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:06Z",
- "2011-07-14T22:01:07Z",
- "2011-07-14T22:01:08Z",
- "2011-07-14T22:01:09Z",
- "2011-07-14T22:01:10Z"
], - "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 270
]
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more movement data into a specified moving feature.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tgeometries/{tGeometryId}": {
- "delete": {
- "operationId": "deleteTemporalGeometry",
- "summary": "Delete a singe temporal geometry",
- "description": "The temporal geometry with id `tGeometryId` SHOULD be deleted.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tGeometryId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal geometry with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tproperties": {
- "get": {
- "operationId": "retrieveTemporalPropertyCollection",
- "summary": "Retrieve the static information of the temporal properties data",
- "description": "A user can retrieve only the static information of the temporal property data that included a single moving feature with id `mFeatureId`.\n\nThe static data of a temporal property is not included temporal values (property `values`).\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalPropertyCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalProperty",
- "summary": "Add temporal property data",
- "description": "A user SHOULD add more temporal property data into a moving feature with id `mFeatureId`.\n\nThe request body schema SHALL follows the [TemporalProperties object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#tproperties) in the OGC MF-JSON.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalProperties"
}, - "example": {
- "temporalProperties": [
- {
- "datetimes": [
- "2011-07-14T22:01:01.450Z",
- "2011-07-14T23:01:01.450Z",
- "2011-07-15T00:01:01.450Z"
], - "length": {
- "type": "Measure",
- "values": [
- 1,
- 2.4,
- 1
], - "interpolation": "Linear"
}, - "discharge": {
- "type": "Measure",
- "form": "MQS",
- "values": [
- 3,
- 4,
- 5
], - "interpolation": "Step"
}
}, - {
- "datetimes": [
- 1465621816590,
- 1465711526300
], - "camera": {
- "type": "Image",
- "values": [
- "iVBORw0KGgoAAAANSUhEU......"
], - "interpolation": "Discrete"
}, - "labels": {
- "type": "Text",
- "values": [
- "car",
- "human"
], - "interpolation": "Discrete"
}
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more temporal property into a specified moving feature.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tproperties/{tPropertyName}": {
- "get": {
- "operationId": "retrieveTemporalProperty",
- "summary": "Retrieve a temporal property",
- "description": "A user can retrieve only the temporal values with a specified name `tPropertyName` of temporal property.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}, - {
- "$ref": "#/components/parameters/leaf"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalValueCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalValues",
- "summary": "Add temporal values data",
- "description": "A user SHOULD add more temporal values data into a temporal property with id `tPropertyName`.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalValue"
}, - "example": {
- "datetimes": [
- "2011-07-15T08:00:00Z",
- "2011-07-15T08:00:01Z",
- "2011-07-15T08:00:02Z"
], - "values": [
- 0,
- 20,
- 50
], - "interpolation": "Linear"
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more temporal values data into a specified temporal property.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal property with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteTemporalProperty",
- "summary": "Delete a specified temporal property",
- "description": "The temporal property with id `tPropertyName` SHOULD be deleted.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal property with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}
}, - "components": {
- "schemas": {
- "link": {
- "type": "object",
- "required": [
- "href",
- "rel"
], - "properties": {
- "rel": {
- "type": "string",
- "example": "alternate"
}, - "type": {
- "type": "string",
- "example": "application/geo+json"
}, - "hreflang": {
- "type": "string",
- "example": "en"
}, - "title": {
- "type": "string",
- "example": "moving features"
}, - "length": {
- "type": "integer"
}
}
}, - "landingPage": {
- "type": "object",
- "required": [
- "links"
], - "properties": {
- "title": {
- "type": "string",
- "example": "Movingfeatures data server"
}, - "description": {
- "type": "string",
- "example": "Access to data about moving features"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "exception": {
- "type": "object",
- "required": [
- "code"
], - "properties": {
- "code": {
- "type": "string"
}, - "description": {
- "type": "string"
}
}
}, - "confClasses": {
- "type": "object",
- "required": [
- "conformsTo"
], - "properties": {
- "conformsTo": {
- "type": "array",
}
}
}, - "extent": {
- "description": "The extent of the features in the collection. In the Core only spatial and temporal\nextents are specified. Extensions may add additional members to represent other\nextents, for example, thermal or pressure ranges.\n\nAn array of extents is provided for each extent type (spatial, temporal). The first item \nin the array describes the overall extent of the data. All subsequent items describe more \nprecise extents, e.g., to identify clusters of data. Clients only interested in the \noverall extent will only need to access the first extent in the array.",
- "type": "object",
- "properties": {
- "spatial": {
- "description": "The spatial extent of the features in the collection.",
- "type": "object",
- "properties": {
- "bbox": {
- "description": "One or more bounding boxes that describe the spatial extent of the dataset.\nIn the Core only a single bounding box is supported.\n\nExtensions may support additional areas.\nThe first bounding box describes the overall spatial\nextent of the data. All subsequent bounding boxes describe \nmore precise bounding boxes, e.g., to identify clusters of data.\nClients only interested in the overall spatial extent will\nonly need to access the first bounding box in the array.",
- "type": "array",
- "minItems": 1,
- "items": {
- "description": "Each bounding box is provided as four or six numbers, depending on\nwhether the coordinate reference system includes a vertical axis\n(height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\n\nIf the value consists of four numbers, the coordinate reference system is\nWGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)\nunless a different coordinate reference system is specified in `crs`.\n\nIf the value consists of six numbers, the coordinate reference system is WGS 84 \nlongitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)\nunless a different coordinate reference system is specified in `crs`.\n\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\n\nIf the vertical axis is included, the third and the sixth number are\nthe bottom and the top of the 3-dimensional bounding box.\n\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries.",
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}, - "example": [
- -180,
- -90,
- 180,
- 90
]
}
}, - "crs": {
- "description": "Coordinate reference system of the coordinates in the spatial extent\n(property `bbox`). The default reference system is WGS 84 longitude/latitude.\nIn the Core the only other supported coordinate reference system is\nWGS 84 longitude/latitude/ellipsoidal height for coordinates with height.\nExtensions may support additional coordinate reference systems and add\nadditional enum values.",
- "type": "string",
}
}
}, - "temporal": {
- "description": "The temporal extent of the features in the collection.",
- "type": "object",
- "properties": {
- "interval": {
- "description": "One or more time intervals that describe the temporal extent of the dataset.\nIn the Core only a single time interval is supported.\n\nExtensions may support multiple intervals.\nThe first time interval describes the overall\ntemporal extent of the data. All subsequent time intervals describe \nmore precise time intervals, e.g., to identify clusters of data.\nClients only interested in the overall temporal extent will only need\nto access the first time interval in the array (a pair of lower and upper \nbound instants).",
- "type": "array",
- "minItems": 1,
- "items": {
- "description": "Begin and end times of the time interval. The timestamps are in the\ntemporal coordinate reference system specified in `trs`. By default\nthis is the Gregorian calendar.\n\nThe value `null` at start or end is supported and indicates a half-bounded interval.",
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "items": {
- "type": "string",
- "format": "date-time",
- "nullable": true
}, - "example": [
- "2011-11-11T12:22:11Z",
- null
]
}
}, - "trs": {
- "description": "Coordinate reference system of the coordinates in the temporal extent\n(property `interval`). The default reference system is the Gregorian calendar.\nIn the Core this is the only supported temporal coordinate reference system.\nExtensions may support additional temporal coordinate reference systems and add\nadditional enum values.",
- "type": "string",
}
}
}
}
}, - "collection": {
- "type": "object",
- "required": [
- "id",
- "links",
- "itemType"
], - "properties": {
- "id": {
- "description": "identifier of the collection used, for example, in URIs",
- "type": "string",
- "example": "address"
}, - "title": {
- "description": "human readable title of the collection",
- "type": "string",
- "example": "address"
}, - "description": {
- "description": "a description of the features in the collection",
- "type": "string",
- "example": "An address."
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}, - "example": [
]
}, - "extent": {
- "$ref": "#/components/schemas/extent"
}, - "itemType": {
- "description": "indicator about the type of the items in the collection",
- "type": "string",
- "default": "movingfeature"
}, - "crs": {
- "description": "the list of coordinate reference systems supported by the service",
- "type": "array",
- "items": {
- "type": "string"
},
}, - "updateFrequency": {
- "description": "a time interval of sampling location. The unit is millisecond.",
- "type": "number"
}
}
}, - "collections": {
- "type": "object",
- "required": [
- "collections",
- "links"
], - "properties": {
- "collections": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/collection"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "collection-2": {
- "type": "object",
- "properties": {
- "title": {
- "description": "human readable title of the collection",
- "type": "string"
}, - "updateFrequency": {
- "description": "a time interval of sampling location. The unit is millisecond.",
- "type": "number"
}, - "description": {
- "description": "any description",
- "type": "string"
}
}
}, - "pointGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "multipointGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "linestringGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "multilinestringGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}, - "polygonGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}, - "multipolygonGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}
}, - "geometryGeoJSON": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/pointGeoJSON"
}, - {
- "$ref": "#/components/schemas/multipointGeoJSON"
}, - {
- "$ref": "#/components/schemas/linestringGeoJSON"
}, - {
- "$ref": "#/components/schemas/multilinestringGeoJSON"
}, - {
- "$ref": "#/components/schemas/polygonGeoJSON"
}, - {
- "$ref": "#/components/schemas/multipolygonGeoJSON"
}, - {
- "$ref": "#/components/schemas/geometrycollectionGeoJSON"
}
]
}, - "geometrycollectionGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "geometries"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "GeometryCollection"
]
}, - "geometries": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/geometryGeoJSON"
}
}
}
}, - "crs": {
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "oneOf": [
- [
- {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}
}, - {
- "properties": {
- "type": "object",
- "required": [
- "name"
], - "properties": [
- {
- "name": {
- "type": "string",
- "default": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}
]
}
}
], - [
- {
- "type": {
- "type": "string",
- "enum": [
- "Link"
]
}
}, - {
- "properties": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": [
- {
- "href": {
- "type": "string",
- "format": "uri"
}
}, - {
- "type": {
- "type": "string"
}
}
]
}
}
]
]
}
}, - "trs": {
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "oneOf": [
- [
- {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}
}, - {
- "properties": {
- "type": "object",
- "required": [
- "name"
], - "properties": [
- {
- "name": {
- "type": "string",
- "default": "urn:ogc:data:time:iso8601"
}
}
]
}
}
], - [
- {
- "type": {
- "type": "string",
- "enum": [
- "Link"
]
}
}, - {
- "properties": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": [
- {
- "href": {
- "type": "string",
- "format": "uri"
}
}, - {
- "type": {
- "type": "string"
}
}
]
}
}
]
]
}
}, - "movingFeatureGeoJSON": {
- "type": "object",
- "required": [
- "id",
- "type",
- "geometry",
- "properties"
], - "properties": {
- "id": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "Feature"
]
}, - "geometry": {
- "$ref": "#/components/schemas/geometryGeoJSON"
}, - "properties": {
- "type": "object",
- "nullable": true
}, - "bbox": {
- "type": "array",
- "minItems": 1,
- "items": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}
}
}, - "time": {
- "type": "array",
- "minItems": 1,
- "items": {
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "items": {
- "type": "string",
- "format": "date-time",
- "nullable": true
}
}
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "movingFeatureCollectionGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "features"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "FeatureCollection"
]
}, - "features": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/movingFeatureGeoJSON"
}
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "datetimes": {
- "$id": "#/definitions/datetimes",
- "type": "array",
- "uniqueItems": true,
- "minItems": 1,
- "items": {
- "type": "string"
}
}, - "geometryInterpolation": {
- "$id": "#/definitions/geometryInterpolation",
- "title": "Interpolation method for TemporalPrimitiveGeometry (MotionCurve)",
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Quadratic",
- "Cube"
], - "default": "Linear"
}, - {
- "type": "string",
- "format": "uri"
}
]
}, - "orientation": {
- "$id": "#/definitions/orientation",
- "type": "object",
- "required": [
- "scales",
- "angles"
], - "properties": {
- "scales": {
- "type": "array",
- "minItems": 3,
- "maxItems": 3,
- "items": {
- "type": "number"
}
}, - "angles": {
- "type": "array",
- "minItems": 3,
- "maxItems": 3,
- "items": {
- "type": "number"
}
}
}
}, - "namedCRS": {
- "$id": "#/definitions/namedCRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}, - "properties": {
- "type": "object",
- "required": [
- "name"
], - "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string",
- "default": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}
}
}
}, - "linkedCRS": {
- "$id": "#/definitions/linkedCRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Link"
]
}, - "properties": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}
}
}, - "definitions-crs": {
- "$id": "#/definitions/crs",
- "title": "Coordinate Reference System",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "oneOf": [
- {
- "$ref": "#/components/schemas/namedCRS"
}, - {
- "$ref": "#/components/schemas/linkedCRS"
}
]
}, - "namedTRS": {
- "$id": "#/definitions/namedTRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}, - "properties": {
- "type": "object",
- "required": [
- "name"
], - "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string",
- "default": "urn:ogc:data:time:iso8601"
}
}
}
}
}, - "definitions-trs": {
- "$id": "#/definitions/trs",
- "title": "Temporal Coordinate Reference System",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "oneOf": [
- {
- "$ref": "#/components/schemas/namedTRS"
}, - {
- "$ref": "#/components/schemas/linkedCRS"
}
]
}, - "temporalPrimitiveGeometry": {
- "$id": "#/definitions/temporalPrimitiveGeometry",
- "type": "object",
- "title": "TemporalPrimitiveGeometry Object",
- "required": [
- "type",
- "datetimes",
- "coordinates"
], - "dependencies": {
- "orientations": [
- "base"
]
}, - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MovingPoint",
- "MovingLineString",
- "MovingPolygon",
- "MovingPointCloud"
]
}, - "datetimes": {
- "$ref": "#/components/schemas/datetimes"
}, - "coordinates": {
- "oneOf": [
- {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
]
}, - "interpolation": {
- "$ref": "#/components/schemas/geometryInterpolation"
}, - "base": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}
]
}, - "orientations": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/orientation"
}
}
]
}, - "crs": {
- "$ref": "#/components/schemas/definitions-crs"
}, - "trs": {
- "$ref": "#/components/schemas/definitions-trs"
}
}
}, - "temporalComplexGeometry": {
- "$id": "#/definitions/temporalComplexGeometry",
- "type": "object",
- "title": "TemporalComplexGeometry Object",
- "required": [
- "type",
- "prisms"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MovingGeometryCollection"
]
}, - "prisms": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalPrimitiveGeometry"
}
}, - "crs": {
- "$ref": "#/components/schemas/definitions-crs"
}, - "trs": {
- "$ref": "#/components/schemas/definitions-trs"
}
}
}, - "temporalGeometry": {
- "$id": "#/definitions/temporalGeometry",
- "title": "TemporalGeometry Object",
- "oneOf": [
- {
- "$ref": "#/components/schemas/temporalPrimitiveGeometry"
}, - {
- "$ref": "#/components/schemas/temporalComplexGeometry"
}
]
}, - "temporalProperties": {
- "$id": "#/definitions/temporalProperties",
- "title": "TemporalProperties Objects",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "items": [
- {
- "$ref": "#/definitions/parametricValues"
}
]
}
]
}, - "bbox": {
- "$id": "#/definitions/bbox",
- "title": "BoundingBox Object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
]
}, - "time": {
- "$id": "#/definitions/time",
- "title": "LifeSpan Object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "uniqueItems": true,
- "items": {
- "type": "string"
}
}
]
}, - "Geometry": {
- "title": "GeoJSON Geometry",
- "oneOf": [
- {
- "title": "GeoJSON Point",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON LineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON Polygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPoint",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiLineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPolygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}
]
}, - "GeometryCollection": {
- "title": "GeoJSON GeometryCollection",
- "type": "object",
- "required": [
- "type",
- "geometries"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "GeometryCollection"
]
}, - "geometries": {
- "type": "array",
- "items": {
- "oneOf": [
- {
- "title": "GeoJSON Point",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON LineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON Polygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPoint",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiLineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPolygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}
]
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - "geometry": {
- "$id": "#/definitions/geometry",
- "title": "GeoJSON Geometry object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "$ref": "#/components/schemas/Geometry"
}, - {
- "$ref": "#/components/schemas/GeometryCollection"
}
]
}, - "properties": {
- "$id": "#/definitions/properties",
- "title": "Properties object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "object"
}
]
}, - "movingFeature": {
- "$id": "#/definitions/movingFeature",
- "title": "MovingFeature object in a MF-JSON Prism",
- "type": "object",
- "required": [
- "type",
- "temporalGeometry"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Feature"
]
}, - "temporalGeometry": {
- "$ref": "#/components/schemas/temporalGeometry"
}, - "crs": {
- "$ref": "#/components/schemas/definitions-crs"
}, - "trs": {
- "$ref": "#/components/schemas/definitions-trs"
}, - "temporalProperties": {
- "$ref": "#/components/schemas/temporalProperties"
}, - "bbox": {
- "$ref": "#/components/schemas/bbox"
}, - "time": {
- "$ref": "#/components/schemas/time"
}, - "geometry": {
- "$ref": "#/components/schemas/geometry"
}, - "properties": {
- "$ref": "#/components/schemas/properties"
}, - "id": {
- "description": "An identifier for the feature",
- "oneOf": [
- {
- "type": "string"
}, - {
- "type": "number"
}
]
}
}
}, - "movingFeatureCollection": {
- "$id": "#/definitions/movingFeatureCollection",
- "title": "MovingFeatureCollection object in a MF-JSON Prism",
- "type": "object",
- "required": [
- "type",
- "features"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "FeatureCollection"
]
}, - "features": {
- "type": "array",
- "minItems": 1,
- "items": {
- "$ref": "#/components/schemas/movingFeature"
}
}, - "crs": {
- "$ref": "#/components/schemas/definitions-crs"
}, - "trs": {
- "$ref": "#/components/schemas/definitions-trs"
}, - "bbox": {
- "$ref": "#/components/schemas/bbox"
}, - "time": {
- "$ref": "#/components/schemas/time"
}, - "label": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "string"
}
]
}
}
}, - "pointCoordinates": {
- "type": "array,",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}, - "lineStringCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "minItems": "2,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "polygonCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "minItems": "4,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "multiPointCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "temporalGeometry-2": {
- "type": "object",
- "required": [
- "id",
- "type",
- "coordinates",
- "datetimes",
- "interpolation"
], - "properties": {
- "id": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "MovingPoint",
- "MovingLineString",
- "MovingPolygon",
- "MovingPointCloud"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/pointCoordinates"
}, - {
- "$ref": "#/components/schemas/lineStringCoordinates"
}, - {
- "$ref": "#/components/schemas/polygonCoordinates"
}, - {
- "$ref": "#/components/schemas/multiPointCoordinates"
}
]
}
}, - "datetimes": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 2,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "interpolation": {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Quadratic",
- "Cube"
]
}, - "base": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}, - "orientations": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "object",
- "required": [
- "scales",
- "angles"
], - "properties": {
- "scales": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 2,
- "maxItems": 2
}, - {
- "minItems": 3,
- "maxItems": 3
}
], - "items": {
- "type": "number"
}
}, - "angles": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 2,
- "maxItems": 2
}, - {
- "minItems": 3,
- "maxItems": 3
}
], - "items": {
- "type": "number"
}
}
}
}
}
}
}, - "temporalGeometryCollection": {
- "type": "object",
- "required": [
- "type",
- "prisms"
], - "properties": {
- "type": {
- "type": "string",
- "default": "MovingGeometryCollection"
}, - "prisms": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalGeometry-2"
}
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "temporalProperty": {
- "type": "object",
- "required": [
- "name",
- "type"
], - "properties": {
- "name": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "TBool",
- "TText",
- "TInt",
- "TFloat",
- "TImage"
]
}, - "form": {
- "oneOf": [
- {
- "type": "string",
- "format": "uri"
}, - {
- "type": "string",
- "minLength": 3,
- "maxLength": 3
}
]
}, - "description": {
- "type": "string"
}
}
}, - "temporalPropertyCollection": {
- "type": "object",
- "required": [
- "temporalProperties"
], - "properties": {
- "temporalProperties": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalProperty"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "link.yaml"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "temporalValue": {
- "type": "object",
- "required": [
- "datetimes",
- "values",
- "interpolation"
], - "properties": {
- "datetimes": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 2,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "values": {
- "oneOf": [
- {
- "type": "number"
}, - {
- "type": "string"
}, - {
- "type": "boolean"
}
]
}, - "interpolation": {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Regression"
]
}
}
}, - "temporalValueCollection": {
- "type": "object",
- "required": [
- "values"
], - "properties": {
- "values": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalValue"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "link.yaml"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}
}, - "responses": {
- "LandingPage": {
- "description": "The links to the API capabilities.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/landingPage"
}
}
}
}, - "ServerError": {
- "description": "A server error occurred.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/exception"
}, - "example": {
- "code": "500",
- "description": "Server Internal Error"
}
}
}
}, - "Conformance": {
- "description": "The URIs of all requirements classes supported by the server.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/confClasses"
}
}
}
}, - "Collections": {
- "description": "A list of catalogs about collections of moving features.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collections"
}, - "example": {
- "collections": [
- {
- "id": "mfc-1",
- "title": "moving_feature_collection_sample",
- "itemType": "movingfeature",
- "updateFrequency": 1000,
- "extent": {
- "temporal": {
- "interval": [
- "2011-11-11T12:22:11Z",
- "2012-11-24T12:32:43Z"
],
}
}, - "links": [
]
}
], - "links": [
]
}
}
}
}, - "Collection": {
- "description": "The metadata being returned.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection"
}, - "example": {
- "id": "mfc-1",
- "title": "moving_feature_collection_sample",
- "itemType": "movingfeature",
- "updateFrequency": 1000,
- "extent": {
- "temporal": {
- "interval": [
- "2011-11-11T12:22:11Z",
- "2012-11-24T12:32:43Z"
],
}
}, - "links": [
]
}
}
}
}, - "MovingFeatures": {
- "description": "A list of static data of moving feature.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/movingFeatureCollectionGeoJSON"
}, - "example": {
- "type": "FeatureCollection",
- "features": [
- {
- "id": "mf-1",
- "type": "Feature",
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- -122.308150179,
- 37.488035566
], - [
- -122.597502109,
- 37.538869539
], - [
- -122.576687533,
- 37.613537207
], - [
- -122.2880486,
- 37.562818007
], - [
- -122.308150179,
- 37.488035566
]
]
}, - "properties": {
- "label": "car"
}, - "bbox": [
- -122.59750209,
- 37.48803556,
- -122.2880486,
- 37.613537207
], - "time": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}
}
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}, - "links": [
- {
- "rel": "self",
- "type": "application/geo+json"
}, - {
- "rel": "next",
- "type": "application/geo+json"
}
], - "timeStamp": "2020-01-01T12:00:00Z",
- "numberMatched": 100,
- "numberReturned": 1
}
}
}
}, - "MovingFeature": {
- "description": "A moving feature static data.",
- "content": {
- "application/geo+json": {
- "schema": {
- "$ref": "#/components/schemas/movingFeatureGeoJSON"
}, - "example": {
- "id": "mf-1",
- "type": "Feature",
- "geometry": {
- "type": "LineString",
- "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
]
}, - "properties": {
- "name": "car1",
- "state": "test1",
}, - "bbox": [
- 139.757083,
- 35.627483,
- 0,
- 139.757716,
- 35.627701,
- 4.5
], - "time": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}
}
}
}
}, - "TemporalGeometryCollection": {
- "description": "A list of Temporalgeometry data.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalGeometryCollection"
}, - "example": {
- "type": "MovingGeometryCollection",
- "prisms": [
- {
- "id": "tg-1",
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z"
], - "coordinates": [
- [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}
]
}
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}, - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 100,
- "numberReturned": 1
}
}
}
}, - "TemporalPropertyCollection": {
- "description": "A list of static data of Temporalproperty.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalPropertyCollection"
}, - "example": {
- "temporalProperties": [
- {
- "name": "speed",
- "type": "TFloat",
- "form": "KHM"
}
], - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 10,
- "numberReturned": 2
}
}
}
}, - "TemporalValueCollection": {
- "description": "A list of Temporal Value data.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalValueCollection"
}, - "example": {
- "values": [
- {
- "datetimes": [
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z"
], - "values": [
- 65,
- 70,
- 80
], - "interpolation": "Linear"
}, - {
- "datetimes": [
- "2011-07-15T08:00:00Z",
- "2011-07-15T08:00:01Z",
- "2011-07-15T08:00:02Z"
], - "values": [
- 0,
- 20,
- 50
], - "interpolation": "Linear"
}
], - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 20,
- "numberReturned": 2
}
}
}
}
}, - "parameters": {
- "bbox": {
- "name": "bbox",
- "in": "query",
- "description": "Only features that have a geometry that intersects the bounding box are selected.\nThe bounding box is provided as four or six numbers, depending on whether the\ncoordinate reference system includes a vertical axis (height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\n\nIf the value consists of four numbers, the coordinate reference system is\nWGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)\nunless a different coordinate reference system is specified in the parameter `bbox-crs`.\n\nIf the value consists of six numbers, the coordinate reference system is WGS 84 \nlongitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)\nunless a different coordinate reference system is specified in the parameter `bbox-crs`.\n\nThe query parameter `bbox-crs` is specified in OGC API - Features - Part 2: Coordinate \nReference Systems by Reference.\n\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\n\nIf the vertical axis is included, the third and the sixth number are the\nbottom and the top of the 3-dimensional bounding box.\n\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries.",
- "required": false,
- "schema": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}
}, - "style": "form",
- "explode": false
}, - "datetime": {
- "name": "datetime",
- "in": "query",
- "description": "Either a date-time or an interval. Date and time expressions adhere to RFC 3339. \nIntervals may be bounded or half-bounded (double-dots at start or end).\n\nExamples:\n\n* A date-time: \"2018-02-12T23:20:50Z\"\n* A bounded interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\"\n* Half-bounded intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\n\nOnly features that have a temporal property that intersects the value of\n`datetime` are selected.\n\nIf a feature has multiple temporal properties, it is the decision of the\nserver whether only a single temporal property is used to determine\nthe extent or all relevant temporal properties.",
- "required": false,
- "schema": {
- "type": "string"
}, - "style": "form",
- "explode": false
}, - "limit": {
- "name": "limit",
- "in": "query",
- "description": "The optional limit parameter limits the number of items that are presented in the response document.\n\nOnly items are counted that are on the first level of the collection in the response document.\nNested objects contained within the explicitly requested items shall not be counted.\n\nMinimum = 1. Maximum = 10000. Default = 10.",
- "required": false,
- "schema": {
- "type": "integer",
- "minimum": 1,
- "maximum": 10000,
- "default": 10
}, - "style": "form",
- "explode": false
}, - "collectionId": {
- "name": "collectionId",
- "in": "path",
- "description": "local identifier of a collection",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "mFeatureId": {
- "name": "mFeatureId",
- "in": "path",
- "description": "local identifier of a moving feature",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "leaf": {
- "name": "leaf",
- "in": "query",
- "required": false,
- "schema": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 1,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "style": "form",
- "explode": false
}, - "tGeometryId": {
- "name": "tGeometryId",
- "in": "path",
- "description": "local identifier of a temporal geometry",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "tPropertyName": {
- "name": "tPropertiesName",
- "in": "path",
- "description": "local identifier of a temporal properties",
- "required": true,
- "schema": {
- "type": "string"
}
}
}
}
}
}
}
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections": {
- "get": {
- "operationId": "searchCatalog",
- "summary": "Retrieve catalogs of moving features collection",
- "description": "A user can retrieve catalogs to access collections by simple filtering and a limit.\n",
- "tags": [
- "Capabilities"
], - "parameters": [
- {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Collections"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "registerMetadata",
- "summary": "Register metadata about a collection of moving features",
- "description": "A user SHOULD register metadata about a collection of moving features into the system.\n",
- "tags": [
- "MovingFeatureCollection"
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection-2"
}, - "example": {
- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful create a collection to manage moving features.",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
}
}, - "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "required": [
- "id"
], - "properties": {
- "id": {
- "type": "string",
- "description": "Newly added resource ID"
}
}, - "example": {
- "id": "mfc-1"
}
}
}
}
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}": {
- "get": {
- "operationId": "accessMetadata",
- "summary": "Access metadata about the collection",
- "description": "A user can access metadata with id `collectionId`.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Collection"
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteCollection",
- "summary": "Delete the collection",
- "description": "The collection catalog with id `collectionId` and including metadata and moving features SHOULD be deleted.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "A collection with the specified name was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "put": {
- "operationId": "replaceMetadata",
- "summary": "Replace metadata about the collection",
- "description": "A user SHOULD replace metadata with id `collectionId`.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection-2"
}, - "example": {
- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}
}
}
}, - "responses": {
- "204": {
- "description": "Successfully replaced."
}, - "404": {
- "description": "A collection with the specified name was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items": {
- "get": {
- "operationId": "retrieveMovingFeatures",
- "summary": "Retrieve moving feature collection",
- "description": "A user can retrieve moving feature collection to access the static information of the moving feature by simple filtering and a limit.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/MovingFeatures"
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertMovingFeatures",
- "summary": "Insert moving features",
- "description": "A user SHOULD insert a set of moving features or a moving feature into a collection with id `collectionId`.\n\nThe request body schema SHALL follows the [MovingFeature object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#mfeature) \n(and [MovingFeatureCollection object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#mfeaturecollection)) in the OGC MF-JSON.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/movingFeature"
}, - {
- "$ref": "#/components/schemas/movingFeatureCollection"
}
], - "example": {
- "type": "Feature",
- "crs": {
- "type": "Name",
- "properties": {
- "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}, - "trs": {
- "type": "Link",
}, - "temporalGeometry": {
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:01Z",
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z",
- "2011-07-14T22:01:05Z"
], - "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 270
]
}
]
}, - "temporalProperties": [
- {
- "datetimes": [
- "2011-07-14T22:01:01.450Z",
- "2011-07-14T23:01:01.450Z",
- "2011-07-15T00:01:01.450Z"
], - "length": {
- "type": "Measure",
- "values": [
- 1,
- 2.4,
- 1
], - "interpolation": "Linear"
}, - "discharge": {
- "type": "Measure",
- "form": "MQS",
- "values": [
- 3,
- 4,
- 5
], - "interpolation": "Step"
}
}, - {
- "datetimes": [
- 1465621816590,
- 1465711526300
], - "camera": {
- "type": "Image",
- "values": [
- "iVBORw0KGgoAAAANSUhEU......"
], - "interpolation": "Discrete"
}, - "labels": {
- "type": "Text",
- "values": [
- "car",
- "human"
], - "interpolation": "Discrete"
}
}
], - "geometry": {
- "type": "LineString",
- "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
]
}, - "properties": {
- "name": "car1",
- "state": "test1",
}, - "bbox": [
- 139.757083,
- 35.627483,
- 0,
- 139.757716,
- 35.627701,
- 4.5
], - "time": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
], - "id": "mf-1"
}
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful create a set of moving features or a moving feature into a specific collection.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
}
}
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}": {
- "get": {
- "operationId": "accessMovingFeature",
- "summary": "Access the static data of the moving feature",
- "description": "A user can access a static data of a moving feature with id `mFeatureId`.\n\nThe static data of a moving feature is not included temporal geometries and temporal properties.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/MovingFeature"
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteMovingFeature",
- "summary": "Delete a single moving feature",
- "description": "The moving feature with id `mFeatureId` and including temporal geometries and properties SHOULD be deleted.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tgeometries": {
- "get": {
- "operationId": "retrieveTemporalGeometries",
- "summary": "Retrieve the movement data of the single moving feature",
- "description": "A user can retrieve only the movement data of a moving feature with id `mFeatureId`.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/leaf"
}, - {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalGeometryCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalGeometry",
- "summary": "Add movement data into the moving feature",
- "description": "A user SHOULD add more movement data into a moving feature with id `mFeatureId`.\n\nThe request body schema SHALL follows the [TemporalGeometry object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#tgeometry) in the OGC MF-JSON.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalGeometry"
}, - "example": {
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:06Z",
- "2011-07-14T22:01:07Z",
- "2011-07-14T22:01:08Z",
- "2011-07-14T22:01:09Z",
- "2011-07-14T22:01:10Z"
], - "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 270
]
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more movement data into a specified moving feature.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tgeometries/{tGeometryId}": {
- "delete": {
- "operationId": "deleteTemporalGeometry",
- "summary": "Delete a singe temporal geometry",
- "description": "The temporal geometry with id `tGeometryId` SHOULD be deleted.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tGeometryId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal geometry with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tproperties": {
- "get": {
- "operationId": "retrieveTemporalPropertyCollection",
- "summary": "Retrieve the static information of the temporal properties data",
- "description": "A user can retrieve only the static information of the temporal property data that included a single moving feature with id `mFeatureId`.\n\nThe static data of a temporal property is not included temporal values (property `values`).\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalPropertyCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalProperty",
- "summary": "Add temporal property data",
- "description": "A user SHOULD add more temporal property data into a moving feature with id `mFeatureId`.\n\nThe request body schema SHALL follows the [TemporalProperties object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#tproperties) in the OGC MF-JSON.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalProperties"
}, - "example": {
- "temporalProperties": [
- {
- "datetimes": [
- "2011-07-14T22:01:01.450Z",
- "2011-07-14T23:01:01.450Z",
- "2011-07-15T00:01:01.450Z"
], - "length": {
- "type": "Measure",
- "values": [
- 1,
- 2.4,
- 1
], - "interpolation": "Linear"
}, - "discharge": {
- "type": "Measure",
- "form": "MQS",
- "values": [
- 3,
- 4,
- 5
], - "interpolation": "Step"
}
}, - {
- "datetimes": [
- 1465621816590,
- 1465711526300
], - "camera": {
- "type": "Image",
- "values": [
- "iVBORw0KGgoAAAANSUhEU......"
], - "interpolation": "Discrete"
}, - "labels": {
- "type": "Text",
- "values": [
- "car",
- "human"
], - "interpolation": "Discrete"
}
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more temporal property into a specified moving feature.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tproperties/{tPropertyName}": {
- "get": {
- "operationId": "retrieveTemporalProperty",
- "summary": "Retrieve a temporal property",
- "description": "A user can retrieve only the temporal values with a specified name `tPropertyName` of temporal property.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}, - {
- "$ref": "#/components/parameters/leaf"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalValueCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalValues",
- "summary": "Add temporal values data",
- "description": "A user SHOULD add more temporal values data into a temporal property with id `tPropertyName`.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalValue"
}, - "example": {
- "datetimes": [
- "2011-07-15T08:00:00Z",
- "2011-07-15T08:00:01Z",
- "2011-07-15T08:00:02Z"
], - "values": [
- 0,
- 20,
- 50
], - "interpolation": "Linear"
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more temporal values data into a specified temporal property.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal property with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteTemporalProperty",
- "summary": "Delete a specified temporal property",
- "description": "The temporal property with id `tPropertyName` SHOULD be deleted.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tPropertyName"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal property with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}
}, - "components": {
- "schemas": {
- "link": {
- "type": "object",
- "required": [
- "href",
- "rel"
], - "properties": {
- "rel": {
- "type": "string",
- "example": "alternate"
}, - "type": {
- "type": "string",
- "example": "application/geo+json"
}, - "hreflang": {
- "type": "string",
- "example": "en"
}, - "title": {
- "type": "string",
- "example": "moving features"
}, - "length": {
- "type": "integer"
}
}
}, - "landingPage": {
- "type": "object",
- "required": [
- "links"
], - "properties": {
- "title": {
- "type": "string",
- "example": "Movingfeatures data server"
}, - "description": {
- "type": "string",
- "example": "Access to data about moving features"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "exception": {
- "type": "object",
- "required": [
- "code"
], - "properties": {
- "code": {
- "type": "string"
}, - "description": {
- "type": "string"
}
}
}, - "confClasses": {
- "type": "object",
- "required": [
- "conformsTo"
], - "properties": {
- "conformsTo": {
- "type": "array",
}
}
}, - "extent": {
- "description": "The extent of the features in the collection. In the Core only spatial and temporal\nextents are specified. Extensions may add additional members to represent other\nextents, for example, thermal or pressure ranges.\n\nAn array of extents is provided for each extent type (spatial, temporal). The first item \nin the array describes the overall extent of the data. All subsequent items describe more \nprecise extents, e.g., to identify clusters of data. Clients only interested in the \noverall extent will only need to access the first extent in the array.",
- "type": "object",
- "properties": {
- "spatial": {
- "description": "The spatial extent of the features in the collection.",
- "type": "object",
- "properties": {
- "bbox": {
- "description": "One or more bounding boxes that describe the spatial extent of the dataset.\nIn the Core only a single bounding box is supported.\n\nExtensions may support additional areas.\nThe first bounding box describes the overall spatial\nextent of the data. All subsequent bounding boxes describe \nmore precise bounding boxes, e.g., to identify clusters of data.\nClients only interested in the overall spatial extent will\nonly need to access the first bounding box in the array.",
- "type": "array",
- "minItems": 1,
- "items": {
- "description": "Each bounding box is provided as four or six numbers, depending on\nwhether the coordinate reference system includes a vertical axis\n(height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\n\nIf the value consists of four numbers, the coordinate reference system is\nWGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)\nunless a different coordinate reference system is specified in `crs`.\n\nIf the value consists of six numbers, the coordinate reference system is WGS 84 \nlongitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)\nunless a different coordinate reference system is specified in `crs`.\n\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\n\nIf the vertical axis is included, the third and the sixth number are\nthe bottom and the top of the 3-dimensional bounding box.\n\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries.",
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}, - "example": [
- -180,
- -90,
- 180,
- 90
]
}
}, - "crs": {
- "description": "Coordinate reference system of the coordinates in the spatial extent\n(property `bbox`). The default reference system is WGS 84 longitude/latitude.\nIn the Core the only other supported coordinate reference system is\nWGS 84 longitude/latitude/ellipsoidal height for coordinates with height.\nExtensions may support additional coordinate reference systems and add\nadditional enum values.",
- "type": "string",
}
}
}, - "temporal": {
- "description": "The temporal extent of the features in the collection.",
- "type": "object",
- "properties": {
- "interval": {
- "description": "One or more time intervals that describe the temporal extent of the dataset.\nIn the Core only a single time interval is supported.\n\nExtensions may support multiple intervals.\nThe first time interval describes the overall\ntemporal extent of the data. All subsequent time intervals describe \nmore precise time intervals, e.g., to identify clusters of data.\nClients only interested in the overall temporal extent will only need\nto access the first time interval in the array (a pair of lower and upper \nbound instants).",
- "type": "array",
- "minItems": 1,
- "items": {
- "description": "Begin and end times of the time interval. The timestamps are in the\ntemporal coordinate reference system specified in `trs`. By default\nthis is the Gregorian calendar.\n\nThe value `null` at start or end is supported and indicates a half-bounded interval.",
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "items": {
- "type": "string",
- "format": "date-time",
- "nullable": true
}, - "example": [
- "2011-11-11T12:22:11Z",
- null
]
}
}, - "trs": {
- "description": "Coordinate reference system of the coordinates in the temporal extent\n(property `interval`). The default reference system is the Gregorian calendar.\nIn the Core this is the only supported temporal coordinate reference system.\nExtensions may support additional temporal coordinate reference systems and add\nadditional enum values.",
- "type": "string",
}
}
}
}
}, - "collection": {
- "type": "object",
- "required": [
- "id",
- "links",
- "itemType"
], - "properties": {
- "id": {
- "description": "identifier of the collection used, for example, in URIs",
- "type": "string",
- "example": "address"
}, - "title": {
- "description": "human readable title of the collection",
- "type": "string",
- "example": "address"
}, - "description": {
- "description": "a description of the features in the collection",
- "type": "string",
- "example": "An address."
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}, - "example": [
]
}, - "extent": {
- "$ref": "#/components/schemas/extent"
}, - "itemType": {
- "description": "indicator about the type of the items in the collection",
- "type": "string",
- "default": "movingfeature"
}, - "crs": {
- "description": "the list of coordinate reference systems supported by the service",
- "type": "array",
- "items": {
- "type": "string"
},
}, - "updateFrequency": {
- "description": "a time interval of sampling location. The unit is millisecond.",
- "type": "number"
}
}
}, - "collections": {
- "type": "object",
- "required": [
- "collections",
- "links"
], - "properties": {
- "collections": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/collection"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "collection-2": {
- "type": "object",
- "properties": {
- "title": {
- "description": "human readable title of the collection",
- "type": "string"
}, - "updateFrequency": {
- "description": "a time interval of sampling location. The unit is millisecond.",
- "type": "number"
}, - "description": {
- "description": "any description",
- "type": "string"
}
}
}, - "pointGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "multipointGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "linestringGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "multilinestringGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}, - "polygonGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}, - "multipolygonGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
}
}, - "geometryGeoJSON": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/pointGeoJSON"
}, - {
- "$ref": "#/components/schemas/multipointGeoJSON"
}, - {
- "$ref": "#/components/schemas/linestringGeoJSON"
}, - {
- "$ref": "#/components/schemas/multilinestringGeoJSON"
}, - {
- "$ref": "#/components/schemas/polygonGeoJSON"
}, - {
- "$ref": "#/components/schemas/multipolygonGeoJSON"
}, - {
- "$ref": "#/components/schemas/geometrycollectionGeoJSON"
}
]
}, - "geometrycollectionGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "geometries"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "GeometryCollection"
]
}, - "geometries": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/geometryGeoJSON"
}
}
}
}, - "crs": {
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "oneOf": [
- [
- {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}
}, - {
- "properties": {
- "type": "object",
- "required": [
- "name"
], - "properties": [
- {
- "name": {
- "type": "string",
- "default": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}
]
}
}
], - [
- {
- "type": {
- "type": "string",
- "enum": [
- "Link"
]
}
}, - {
- "properties": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": [
- {
- "href": {
- "type": "string",
- "format": "uri"
}
}, - {
- "type": {
- "type": "string"
}
}
]
}
}
]
]
}
}, - "trs": {
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "oneOf": [
- [
- {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}
}, - {
- "properties": {
- "type": "object",
- "required": [
- "name"
], - "properties": [
- {
- "name": {
- "type": "string",
- "default": "urn:ogc:data:time:iso8601"
}
}
]
}
}
], - [
- {
- "type": {
- "type": "string",
- "enum": [
- "Link"
]
}
}, - {
- "properties": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": [
- {
- "href": {
- "type": "string",
- "format": "uri"
}
}, - {
- "type": {
- "type": "string"
}
}
]
}
}
]
]
}
}, - "movingFeatureGeoJSON": {
- "type": "object",
- "required": [
- "id",
- "type",
- "geometry",
- "properties"
], - "properties": {
- "id": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "Feature"
]
}, - "geometry": {
- "$ref": "#/components/schemas/geometryGeoJSON"
}, - "properties": {
- "type": "object",
- "nullable": true
}, - "bbox": {
- "type": "array",
- "minItems": 1,
- "items": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}
}
}, - "time": {
- "type": "array",
- "minItems": 1,
- "items": {
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "items": {
- "type": "string",
- "format": "date-time",
- "nullable": true
}
}
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}
}
}, - "movingFeatureCollectionGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "features"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "FeatureCollection"
]
}, - "features": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/movingFeatureGeoJSON"
}
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "datetimes": {
- "$id": "#/definitions/datetimes",
- "type": "array",
- "uniqueItems": true,
- "minItems": 1,
- "items": {
- "type": "string"
}
}, - "geometryInterpolation": {
- "$id": "#/definitions/geometryInterpolation",
- "title": "Interpolation method for TemporalPrimitiveGeometry (MotionCurve)",
- "oneOf": [
- {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Quadratic",
- "Cube"
], - "default": "Linear"
}, - {
- "type": "string",
- "format": "uri"
}
]
}, - "orientation": {
- "$id": "#/definitions/orientation",
- "type": "object",
- "required": [
- "scales",
- "angles"
], - "properties": {
- "scales": {
- "type": "array",
- "minItems": 3,
- "maxItems": 3,
- "items": {
- "type": "number"
}
}, - "angles": {
- "type": "array",
- "minItems": 3,
- "maxItems": 3,
- "items": {
- "type": "number"
}
}
}
}, - "namedCRS": {
- "$id": "#/definitions/namedCRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}, - "properties": {
- "type": "object",
- "required": [
- "name"
], - "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string",
- "default": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}
}
}
}, - "linkedCRS": {
- "$id": "#/definitions/linkedCRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Link"
]
}, - "properties": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}
}
}, - "definitions-crs": {
- "$id": "#/definitions/crs",
- "title": "Coordinate Reference System",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "oneOf": [
- {
- "$ref": "#/components/schemas/namedCRS"
}, - {
- "$ref": "#/components/schemas/linkedCRS"
}
]
}, - "namedTRS": {
- "$id": "#/definitions/namedTRS",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Name"
]
}, - "properties": {
- "type": "object",
- "required": [
- "name"
], - "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string",
- "default": "urn:ogc:data:time:iso8601"
}
}
}
}
}, - "definitions-trs": {
- "$id": "#/definitions/trs",
- "title": "Temporal Coordinate Reference System",
- "type": "object",
- "required": [
- "type",
- "properties"
], - "oneOf": [
- {
- "$ref": "#/components/schemas/namedTRS"
}, - {
- "$ref": "#/components/schemas/linkedCRS"
}
]
}, - "temporalPrimitiveGeometry": {
- "$id": "#/definitions/temporalPrimitiveGeometry",
- "type": "object",
- "title": "TemporalPrimitiveGeometry Object",
- "required": [
- "type",
- "datetimes",
- "coordinates"
], - "dependencies": {
- "orientations": [
- "base"
]
}, - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MovingPoint",
- "MovingLineString",
- "MovingPolygon",
- "MovingPointCloud"
]
}, - "datetimes": {
- "$ref": "#/components/schemas/datetimes"
}, - "coordinates": {
- "oneOf": [
- {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}
]
}, - "interpolation": {
- "$ref": "#/components/schemas/geometryInterpolation"
}, - "base": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}
]
}, - "orientations": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/orientation"
}
}
]
}, - "crs": {
- "$ref": "#/components/schemas/definitions-crs"
}, - "trs": {
- "$ref": "#/components/schemas/definitions-trs"
}
}
}, - "temporalComplexGeometry": {
- "$id": "#/definitions/temporalComplexGeometry",
- "type": "object",
- "title": "TemporalComplexGeometry Object",
- "required": [
- "type",
- "prisms"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MovingGeometryCollection"
]
}, - "prisms": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalPrimitiveGeometry"
}
}, - "crs": {
- "$ref": "#/components/schemas/definitions-crs"
}, - "trs": {
- "$ref": "#/components/schemas/definitions-trs"
}
}
}, - "temporalGeometry": {
- "$id": "#/definitions/temporalGeometry",
- "title": "TemporalGeometry Object",
- "oneOf": [
- {
- "$ref": "#/components/schemas/temporalPrimitiveGeometry"
}, - {
- "$ref": "#/components/schemas/temporalComplexGeometry"
}
]
}, - "temporalProperties": {
- "$id": "#/definitions/temporalProperties",
- "title": "TemporalProperties Objects",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "items": [
- {
- "$ref": "#/definitions/parametricValues"
}
]
}
]
}, - "bbox": {
- "$id": "#/definitions/bbox",
- "title": "BoundingBox Object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
]
}, - "time": {
- "$id": "#/definitions/time",
- "title": "LifeSpan Object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "uniqueItems": true,
- "items": {
- "type": "string"
}
}
]
}, - "Geometry": {
- "title": "GeoJSON Geometry",
- "oneOf": [
- {
- "title": "GeoJSON Point",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON LineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON Polygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPoint",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiLineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPolygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}
]
}, - "GeometryCollection": {
- "title": "GeoJSON GeometryCollection",
- "type": "object",
- "required": [
- "type",
- "geometries"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "GeometryCollection"
]
}, - "geometries": {
- "type": "array",
- "items": {
- "oneOf": [
- {
- "title": "GeoJSON Point",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Point"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON LineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "LineString"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON Polygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Polygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPoint",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPoint"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiLineString",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiLineString"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - {
- "title": "GeoJSON MultiPolygon",
- "type": "object",
- "required": [
- "type",
- "coordinates"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "MultiPolygon"
]
}, - "coordinates": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "number"
}
}
}
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}
]
}
}, - "bbox": {
- "type": "array",
- "minItems": 4,
- "items": {
- "type": "number"
}
}
}
}, - "geometry": {
- "$id": "#/definitions/geometry",
- "title": "GeoJSON Geometry object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "$ref": "#/components/schemas/Geometry"
}, - {
- "$ref": "#/components/schemas/GeometryCollection"
}
]
}, - "properties": {
- "$id": "#/definitions/properties",
- "title": "Properties object",
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "object"
}
]
}, - "movingFeature": {
- "$id": "#/definitions/movingFeature",
- "title": "MovingFeature object in a MF-JSON Prism",
- "type": "object",
- "required": [
- "type",
- "temporalGeometry"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "Feature"
]
}, - "temporalGeometry": {
- "$ref": "#/components/schemas/temporalGeometry"
}, - "crs": {
- "$ref": "#/components/schemas/definitions-crs"
}, - "trs": {
- "$ref": "#/components/schemas/definitions-trs"
}, - "temporalProperties": {
- "$ref": "#/components/schemas/temporalProperties"
}, - "bbox": {
- "$ref": "#/components/schemas/bbox"
}, - "time": {
- "$ref": "#/components/schemas/time"
}, - "geometry": {
- "$ref": "#/components/schemas/geometry"
}, - "properties": {
- "$ref": "#/components/schemas/properties"
}, - "id": {
- "description": "An identifier for the feature",
- "oneOf": [
- {
- "type": "string"
}, - {
- "type": "number"
}
]
}
}
}, - "movingFeatureCollection": {
- "$id": "#/definitions/movingFeatureCollection",
- "title": "MovingFeatureCollection object in a MF-JSON Prism",
- "type": "object",
- "required": [
- "type",
- "features"
], - "properties": {
- "type": {
- "type": "string",
- "enum": [
- "FeatureCollection"
]
}, - "features": {
- "type": "array",
- "minItems": 1,
- "items": {
- "$ref": "#/components/schemas/movingFeature"
}
}, - "crs": {
- "$ref": "#/components/schemas/definitions-crs"
}, - "trs": {
- "$ref": "#/components/schemas/definitions-trs"
}, - "bbox": {
- "$ref": "#/components/schemas/bbox"
}, - "time": {
- "$ref": "#/components/schemas/time"
}, - "label": {
- "oneOf": [
- {
- "type": "null"
}, - {
- "type": "string"
}
]
}
}
}, - "pointCoordinates": {
- "type": "array,",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}, - "lineStringCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "minItems": "2,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "polygonCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "minItems": "4,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "multiPointCoordinates": {
- "type": "array,",
- "items": {
- "type": "array,",
- "items": {
- "type": "array",
- "minItems": "2,",
- "items": {
- "type": "number"
}
}
}
}, - "temporalGeometry-2": {
- "type": "object",
- "required": [
- "id",
- "type",
- "coordinates",
- "datetimes",
- "interpolation"
], - "properties": {
- "id": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "MovingPoint",
- "MovingLineString",
- "MovingPolygon",
- "MovingPointCloud"
]
}, - "coordinates": {
- "type": "array",
- "minItems": 2,
- "items": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/pointCoordinates"
}, - {
- "$ref": "#/components/schemas/lineStringCoordinates"
}, - {
- "$ref": "#/components/schemas/polygonCoordinates"
}, - {
- "$ref": "#/components/schemas/multiPointCoordinates"
}
]
}
}, - "datetimes": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 2,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "interpolation": {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Quadratic",
- "Cube"
]
}, - "base": {
- "type": "object",
- "required": [
- "href",
- "type"
], - "properties": {
- "href": {
- "type": "string",
- "format": "uri"
}, - "type": {
- "type": "string"
}
}
}, - "orientations": {
- "type": "array",
- "minItems": 2,
- "items": {
- "type": "object",
- "required": [
- "scales",
- "angles"
], - "properties": {
- "scales": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 2,
- "maxItems": 2
}, - {
- "minItems": 3,
- "maxItems": 3
}
], - "items": {
- "type": "number"
}
}, - "angles": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 2,
- "maxItems": 2
}, - {
- "minItems": 3,
- "maxItems": 3
}
], - "items": {
- "type": "number"
}
}
}
}
}
}
}, - "temporalGeometryCollection": {
- "type": "object",
- "required": [
- "type",
- "prisms"
], - "properties": {
- "type": {
- "type": "string",
- "default": "MovingGeometryCollection"
}, - "prisms": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalGeometry-2"
}
}, - "crs": {
- "$ref": "#/components/schemas/crs"
}, - "trs": {
- "$ref": "#/components/schemas/trs"
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/link"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "temporalProperty": {
- "type": "object",
- "required": [
- "name",
- "type"
], - "properties": {
- "name": {
- "type": "string"
}, - "type": {
- "type": "string",
- "enum": [
- "TBoolean",
- "TText",
- "TInteger",
- "TReal",
- "TImage"
]
}, - "form": {
- "oneOf": [
- {
- "type": "string",
- "format": "uri"
}, - {
- "type": "string",
- "minLength": 3,
- "maxLength": 3
}
]
}, - "description": {
- "type": "string"
}
}
}, - "temporalPropertyCollection": {
- "type": "object",
- "required": [
- "temporalProperties"
], - "properties": {
- "temporalProperties": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalProperty"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "link.yaml"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}, - "temporalValue": {
- "type": "object",
- "required": [
- "datetimes",
- "values",
- "interpolation"
], - "properties": {
- "datetimes": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 2,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "values": {
- "oneOf": [
- {
- "type": "number"
}, - {
- "type": "string"
}, - {
- "type": "boolean"
}
]
}, - "interpolation": {
- "type": "string",
- "enum": [
- "Discrete",
- "Step",
- "Linear",
- "Regression"
]
}
}
}, - "temporalValueCollection": {
- "type": "object",
- "required": [
- "temporalProperties"
], - "properties": {
- "temporalProperties": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/temporalValue"
}
}, - "links": {
- "type": "array",
- "items": {
- "$ref": "link.yaml"
}
}, - "timeStamp": {
- "type": "string",
- "format": "date-time"
}, - "numberMatched": {
- "type": "integer",
- "minimum": 0
}, - "numberReturned": {
- "type": "integer",
- "minimum": 0
}
}
}
}, - "responses": {
- "LandingPage": {
- "description": "The links to the API capabilities.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/landingPage"
}
}
}
}, - "ServerError": {
- "description": "A server error occurred.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/exception"
}, - "example": {
- "code": "500",
- "description": "Server Internal Error"
}
}
}
}, - "Conformance": {
- "description": "The URIs of all requirements classes supported by the server.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/confClasses"
}
}
}
}, - "Collections": {
- "description": "A list of catalogs about collections of moving features.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collections"
}, - "example": {
- "collections": [
- {
- "id": "mfc-1",
- "title": "moving_feature_collection_sample",
- "itemType": "movingfeature",
- "updateFrequency": 1000,
- "extent": {
- "temporal": {
- "interval": [
- "2011-11-11T12:22:11Z",
- "2012-11-24T12:32:43Z"
],
}
}, - "links": [
]
}
], - "links": [
]
}
}
}
}, - "Collection": {
- "description": "The metadata being returned.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection"
}, - "example": {
- "id": "mfc-1",
- "title": "moving_feature_collection_sample",
- "itemType": "movingfeature",
- "updateFrequency": 1000,
- "extent": {
- "temporal": {
- "interval": [
- "2011-11-11T12:22:11Z",
- "2012-11-24T12:32:43Z"
],
}
}, - "links": [
]
}
}
}
}, - "MovingFeatures": {
- "description": "A list of static data of moving feature.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/movingFeatureCollectionGeoJSON"
}, - "example": {
- "type": "FeatureCollection",
- "features": [
- {
- "id": "mf-1",
- "type": "Feature",
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- -122.308150179,
- 37.488035566
], - [
- -122.597502109,
- 37.538869539
], - [
- -122.576687533,
- 37.613537207
], - [
- -122.2880486,
- 37.562818007
], - [
- -122.308150179,
- 37.488035566
]
]
}, - "properties": {
- "label": "car"
}, - "bbox": [
- -122.59750209,
- 37.48803556,
- -122.2880486,
- 37.613537207
], - "time": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}
}
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}, - "links": [
- {
- "rel": "self",
- "type": "application/geo+json"
}, - {
- "rel": "next",
- "type": "application/geo+json"
}
], - "timeStamp": "2020-01-01T12:00:00Z",
- "numberMatched": 100,
- "numberReturned": 1
}
}
}
}, - "MovingFeature": {
- "description": "A moving feature static data.",
- "content": {
- "application/geo+json": {
- "schema": {
- "$ref": "#/components/schemas/movingFeatureGeoJSON"
}, - "example": {
- "id": "mf-1",
- "type": "Feature",
- "geometry": {
- "type": "LineString",
- "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
]
}, - "properties": {
- "name": "car1",
- "state": "test1",
}, - "bbox": [
- 139.757083,
- 35.627483,
- 0,
- 139.757716,
- 35.627701,
- 4.5
], - "time": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}
}
}
}
}, - "TemporalGeometryCollection": {
- "description": "A list of Temporalgeometry data.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalGeometryCollection"
}, - "example": {
- "type": "MovingGeometryCollection",
- "prisms": [
- {
- "id": "tg-1",
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z"
], - "coordinates": [
- [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}
]
}
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}, - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 100,
- "numberReturned": 1
}
}
}
}, - "TemporalPropertyCollection": {
- "description": "A list of static data of Temporalproperty.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalPropertyCollection"
}, - "example": {
- "temporalProperties": [
- {
- "name": "speed",
- "type": "TReal",
- "form": "KHM"
}
], - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 10,
- "numberReturned": 2
}
}
}
}, - "TemporalValueCollection": {
- "description": "A list of Temporal Value data.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalValueCollection"
}, - "example": {
- "temporalProperties": [
- {
- "datetimes": [
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z"
], - "values": [
- 65,
- 70,
- 80
], - "interpolation": "Linear"
}, - {
- "datetimes": [
- "2011-07-15T08:00:00Z",
- "2011-07-15T08:00:01Z",
- "2011-07-15T08:00:02Z"
], - "values": [
- 0,
- 20,
- 50
], - "interpolation": "Linear"
}
], - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 20,
- "numberReturned": 2
}
}
}
}
}, - "parameters": {
- "bbox": {
- "name": "bbox",
- "in": "query",
- "description": "Only features that have a geometry that intersects the bounding box are selected.\nThe bounding box is provided as four or six numbers, depending on whether the\ncoordinate reference system includes a vertical axis (height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\n\nIf the value consists of four numbers, the coordinate reference system is\nWGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)\nunless a different coordinate reference system is specified in the parameter `bbox-crs`.\n\nIf the value consists of six numbers, the coordinate reference system is WGS 84 \nlongitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)\nunless a different coordinate reference system is specified in the parameter `bbox-crs`.\n\nThe query parameter `bbox-crs` is specified in OGC API - Features - Part 2: Coordinate \nReference Systems by Reference.\n\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\n\nIf the vertical axis is included, the third and the sixth number are the\nbottom and the top of the 3-dimensional bounding box.\n\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries.",
- "required": false,
- "schema": {
- "type": "array",
- "oneOf": [
- {
- "minItems": 4,
- "maxItems": 4
}, - {
- "minItems": 6,
- "maxItems": 6
}
], - "items": {
- "type": "number"
}
}, - "style": "form",
- "explode": false
}, - "datetime": {
- "name": "datetime",
- "in": "query",
- "description": "Either a date-time or an interval. Date and time expressions adhere to RFC 3339. \nIntervals may be bounded or half-bounded (double-dots at start or end).\n\nExamples:\n\n* A date-time: \"2018-02-12T23:20:50Z\"\n* A bounded interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\"\n* Half-bounded intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\n\nOnly features that have a temporal property that intersects the value of\n`datetime` are selected.\n\nIf a feature has multiple temporal properties, it is the decision of the\nserver whether only a single temporal property is used to determine\nthe extent or all relevant temporal properties.",
- "required": false,
- "schema": {
- "type": "string"
}, - "style": "form",
- "explode": false
}, - "limit": {
- "name": "limit",
- "in": "query",
- "description": "The optional limit parameter limits the number of items that are presented in the response document.\n\nOnly items are counted that are on the first level of the collection in the response document.\nNested objects contained within the explicitly requested items shall not be counted.\n\nMinimum = 1. Maximum = 10000. Default = 10.",
- "required": false,
- "schema": {
- "type": "integer",
- "minimum": 1,
- "maximum": 10000,
- "default": 10
}, - "style": "form",
- "explode": false
}, - "collectionId": {
- "name": "collectionId",
- "in": "path",
- "description": "local identifier of a collection",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "mFeatureId": {
- "name": "mFeatureId",
- "in": "path",
- "description": "local identifier of a moving feature",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "leaf": {
- "name": "leaf",
- "in": "query",
- "required": false,
- "schema": {
- "type": "array",
- "uniqueItems": "true,",
- "minItems": 1,
- "items": {
- "type": "string",
- "format": "date-time"
}
}, - "style": "form",
- "explode": false
}, - "tGeometryId": {
- "name": "tGeometryId",
- "in": "path",
- "description": "local identifier of a temporal geometry",
- "required": true,
- "schema": {
- "type": "string"
}
}, - "tPropertyName": {
- "name": "tPropertiesName",
- "in": "path",
- "description": "local identifier of a temporal properties",
- "required": true,
- "schema": {
- "type": "string"
}
}
}
}
}A user can retrieve catalogs to access collections by simple filtering and a limit.
{- "collections": [
- {
- "id": "mfc-1",
- "title": "moving_feature_collection_sample",
- "itemType": "movingfeature",
- "updateFrequency": 1000,
- "extent": {
- "temporal": {
- "interval": [
- "2011-11-11T12:22:11Z",
- "2012-11-24T12:32:43Z"
],
}
}, - "links": [
]
}
], - "links": [
]
}A user SHOULD register metadata about a collection of moving features into the system.
| title | string human readable title of the collection |
| updateFrequency | number a time interval of sampling location. The unit is millisecond. |
| description | string any description |
{- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}{- "id": "mfc-1"
}A user can access metadata with id collectionId.
| collectionId required | string local identifier of a collection |
{- "id": "mfc-1",
- "title": "moving_feature_collection_sample",
- "itemType": "movingfeature",
- "updateFrequency": 1000,
- "extent": {
- "temporal": {
- "interval": [
- "2011-11-11T12:22:11Z",
- "2012-11-24T12:32:43Z"
],
}
}, - "links": [
]
}The collection catalog with id collectionId and including metadata and moving features SHOULD be deleted.
| collectionId required | string local identifier of a collection |
{- "code": "500",
- "description": "Server Internal Error"
}A user SHOULD replace metadata with id collectionId.
| collectionId required | string local identifier of a collection |
| title | string human readable title of the collection |
| updateFrequency | number a time interval of sampling location. The unit is millisecond. |
| description | string any description |
{- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}{- "code": "500",
- "description": "Server Internal Error"
}A user can retrieve moving feature collection to access the static information of the moving feature by simple filtering and a limit.
Array of numbers or Array of numbers Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (height or depth):
If the value consists of four numbers, the coordinate reference system is
WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)
unless a different coordinate reference system is specified in the parameter If the value consists of six numbers, the coordinate reference system is WGS 84
longitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)
unless a different coordinate reference system is specified in the parameter The query parameter For WGS 84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge). If the vertical axis is included, the third and the sixth number are the bottom and the top of the 3-dimensional bounding box. If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries. | |
| datetime | string Either a date-time or an interval. Date and time expressions adhere to RFC 3339. Intervals may be bounded or half-bounded (double-dots at start or end). Examples:
Only features that have a temporal property that intersects the value of
If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties. |
| limit | integer [ 1 .. 10000 ] Default: 10 The optional limit parameter limits the number of items that are presented in the response document. Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items shall not be counted. Minimum = 1. Maximum = 10000. Default = 10. |
{- "type": "FeatureCollection",
- "features": [
- {
- "id": "mf-1",
- "type": "Feature",
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- -122.308150179,
- 37.488035566
], - [
- -122.597502109,
- 37.538869539
], - [
- -122.576687533,
- 37.613537207
], - [
- -122.2880486,
- 37.562818007
], - [
- -122.308150179,
- 37.488035566
]
]
}, - "properties": {
- "label": "car"
}, - "bbox": [
- -122.59750209,
- 37.48803556,
- -122.2880486,
- 37.613537207
], - "time": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}
}
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}, - "links": [
- {
- "rel": "self",
- "type": "application/geo+json"
}, - {
- "rel": "next",
- "type": "application/geo+json"
}
], - "timeStamp": "2020-01-01T12:00:00Z",
- "numberMatched": 100,
- "numberReturned": 1
}A user SHOULD insert a set of moving features or a moving feature into a collection with id collectionId.
The request body schema SHALL follows the MovingFeature object (and MovingFeatureCollection object) in the OGC MF-JSON.
| collectionId required | string local identifier of a collection |
| type required | string Value: "Feature" |
required | TemporalPrimitiveGeometry Object (object) or TemporalComplexGeometry Object (object) (temporalGeometry) |
object or object (definitions-crs) | |
object or object (definitions-trs) | |
null or Array of any (temporalProperties) | |
null or Array of numbers (bbox) | |
null or Array of strings (time) | |
null or (GeoJSON Geometry (GeoJSON Point (object) or GeoJSON LineString (object) or GeoJSON Polygon (object) or GeoJSON MultiPoint (object) or GeoJSON MultiLineString (object) or GeoJSON MultiPolygon (object))) or GeoJSON GeometryCollection (object) (geometry) | |
null or object (properties) | |
string or number An identifier for the feature |
{- "type": "Feature",
- "temporalGeometry": {
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:01Z",
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z",
- "2011-07-14T22:01:05Z"
], - "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 270
]
}
], - "crs": {
- "type": "Name",
- "properties": {
- "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}, - "trs": {
- "type": "Name",
- "properties": {
- "name": "urn:ogc:data:time:iso8601"
}
}
}, - "crs": {
- "type": "Name",
- "properties": {
- "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}, - "trs": {
- "type": "Link",
- "properties": {
- "name": "urn:ogc:data:time:iso8601",
- "type": "OGCDEF",
}
}, - "temporalProperties": [
- {
- "datetimes": [
- "2011-07-14T22:01:01.450Z",
- "2011-07-14T23:01:01.450Z",
- "2011-07-15T00:01:01.450Z"
], - "length": {
- "type": "Measure",
- "values": [
- 1,
- 2.4,
- 1
], - "interpolation": "Linear"
}, - "discharge": {
- "type": "Measure",
- "form": "MQS",
- "values": [
- 3,
- 4,
- 5
], - "interpolation": "Step"
}
}, - {
- "datetimes": [
- 1465621816590,
- 1465711526300
], - "camera": {
- "type": "Image",
- "values": [
- "iVBORw0KGgoAAAANSUhEU......"
], - "interpolation": "Discrete"
}, - "labels": {
- "type": "Text",
- "values": [
- "car",
- "human"
], - "interpolation": "Discrete"
}
}
], - "bbox": [
- 139.757083,
- 35.627483,
- 0,
- 139.757716,
- 35.627701,
- 4.5
], - "time": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
], - "geometry": {
- "type": "LineString",
- "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
]
}, - "properties": {
- "name": "car1",
- "state": "test1",
}, - "id": "mf-1"
}{- "code": "500",
- "description": "Server Internal Error"
}A user can access a static data of a moving feature with id mFeatureId.
The static data of a moving feature is not included temporal geometries and temporal properties.
| collectionId required | string local identifier of a collection |
| mFeatureId required | string local identifier of a moving feature |
{- "id": "mf-1",
- "type": "Feature",
- "geometry": {
- "type": "LineString",
- "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
]
}, - "properties": {
- "name": "car1",
- "state": "test1",
}, - "bbox": [
- 139.757083,
- 35.627483,
- 0,
- 139.757716,
- 35.627701,
- 4.5
], - "time": [
- "2011-07-14T22:01:01Z",
- "2011-07-15T01:11:22Z"
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}
}The moving feature with id mFeatureId and including temporal geometries and properties SHOULD be deleted.
| collectionId required | string local identifier of a collection |
| mFeatureId required | string local identifier of a moving feature |
{- "code": "500",
- "description": "Server Internal Error"
}The spatial change over time (temporal geometry), representing the movement of the rigid or nonrigid body of a feature.
A user can retrieve only the movement data of a moving feature with id mFeatureId.
| collectionId required | string local identifier of a collection |
| mFeatureId required | string local identifier of a moving feature |
| leaf | Array of strings <date-time> non-empty unique |
Array of numbers or Array of numbers Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (height or depth):
If the value consists of four numbers, the coordinate reference system is
WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)
unless a different coordinate reference system is specified in the parameter If the value consists of six numbers, the coordinate reference system is WGS 84
longitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)
unless a different coordinate reference system is specified in the parameter The query parameter For WGS 84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge). If the vertical axis is included, the third and the sixth number are the bottom and the top of the 3-dimensional bounding box. If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries. | |
| datetime | string Either a date-time or an interval. Date and time expressions adhere to RFC 3339. Intervals may be bounded or half-bounded (double-dots at start or end). Examples:
Only features that have a temporal property that intersects the value of
If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties. |
| limit | integer [ 1 .. 10000 ] Default: 10 The optional limit parameter limits the number of items that are presented in the response document. Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items shall not be counted. Minimum = 1. Maximum = 10000. Default = 10. |
{- "type": "MovingGeometryCollection",
- "prisms": [
- {
- "id": "tg-1",
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z"
], - "coordinates": [
- [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}
]
}
], - "crs": {
- "type": "Name",
- "properties": "urn:ogc:def:crs:OGC:1.3:CRS84"
}, - "trs": {
- "type": "Name",
- "properties": "urn:ogc:data:time:iso8601"
}, - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 100,
- "numberReturned": 1
}A user SHOULD add more movement data into a moving feature with id mFeatureId.
The request body schema SHALL follows the TemporalGeometry object in the OGC MF-JSON.
| collectionId required | string local identifier of a collection |
| mFeatureId required | string local identifier of a moving feature |
| type required | string Enum: "MovingPoint" "MovingLineString" "MovingPolygon" "MovingPointCloud" |
| datetimes required | Array of strings (datetimes) non-empty unique |
required | Array of numbers or Array of numbers or Array of numbers |
string or string (geometryInterpolation) | |
null or object | |
null or Array of orientation (objects) | |
object or object (definitions-crs) | |
object or object (definitions-trs) |
{- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:06Z",
- "2011-07-14T22:01:07Z",
- "2011-07-14T22:01:08Z",
- "2011-07-14T22:01:09Z",
- "2011-07-14T22:01:10Z"
], - "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 270
]
}
]
}{- "code": "500",
- "description": "Server Internal Error"
}The temporal geometry with id tGeometryId SHOULD be deleted.
| collectionId required | string local identifier of a collection |
| mFeatureId required | string local identifier of a moving feature |
| tGeometryId required | string local identifier of a temporal geometry |
{- "code": "500",
- "description": "Server Internal Error"
}The thematic change over time (temporal property), representing the variation of the value of any descriptive characteristic of a feature.
A user can retrieve only the static information of the temporal property data that included a single moving feature with id mFeatureId.
The static data of a temporal property is not included temporal values (property values).
| collectionId required | string local identifier of a collection |
| mFeatureId required | string local identifier of a moving feature |
| datetime | string Either a date-time or an interval. Date and time expressions adhere to RFC 3339. Intervals may be bounded or half-bounded (double-dots at start or end). Examples:
Only features that have a temporal property that intersects the value of
If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties. |
| limit | integer [ 1 .. 10000 ] Default: 10 The optional limit parameter limits the number of items that are presented in the response document. Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items shall not be counted. Minimum = 1. Maximum = 10000. Default = 10. |
{- "temporalProperties": [
- {
- "name": "speed",
- "type": "TReal",
- "form": "KHM"
}
], - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 10,
- "numberReturned": 2
}A user SHOULD add more temporal property data into a moving feature with id mFeatureId.
The request body schema SHALL follows the TemporalProperties object in the OGC MF-JSON.
| collectionId required | string local identifier of a collection |
| mFeatureId required | string local identifier of a moving feature |
{- "temporalProperties": [
- {
- "datetimes": [
- "2011-07-14T22:01:01.450Z",
- "2011-07-14T23:01:01.450Z",
- "2011-07-15T00:01:01.450Z"
], - "length": {
- "type": "Measure",
- "values": [
- 1,
- 2.4,
- 1
], - "interpolation": "Linear"
}, - "discharge": {
- "type": "Measure",
- "form": "MQS",
- "values": [
- 3,
- 4,
- 5
], - "interpolation": "Step"
}
}, - {
- "datetimes": [
- 1465621816590,
- 1465711526300
], - "camera": {
- "type": "Image",
- "values": [
- "iVBORw0KGgoAAAANSUhEU......"
], - "interpolation": "Discrete"
}, - "labels": {
- "type": "Text",
- "values": [
- "car",
- "human"
], - "interpolation": "Discrete"
}
}
]
}{- "code": "500",
- "description": "Server Internal Error"
}A user can retrieve only the temporal values with a specified name tPropertyName of temporal property.
| collectionId required | string local identifier of a collection |
| mFeatureId required | string local identifier of a moving feature |
| tPropertiesName required | string local identifier of a temporal properties |
| leaf | Array of strings <date-time> non-empty unique |
| datetime | string Either a date-time or an interval. Date and time expressions adhere to RFC 3339. Intervals may be bounded or half-bounded (double-dots at start or end). Examples:
Only features that have a temporal property that intersects the value of
If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties. |
| limit | integer [ 1 .. 10000 ] Default: 10 The optional limit parameter limits the number of items that are presented in the response document. Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items shall not be counted. Minimum = 1. Maximum = 10000. Default = 10. |
{- "temporalProperties": [
- {
- "datetimes": [
- "2011-07-14T22:01:02Z",
- "2011-07-14T22:01:03Z",
- "2011-07-14T22:01:04Z"
], - "values": [
- 65,
- 70,
- 80
], - "interpolation": "Linear"
}, - {
- "datetimes": [
- "2011-07-15T08:00:00Z",
- "2011-07-15T08:00:01Z",
- "2011-07-15T08:00:02Z"
], - "values": [
- 0,
- 20,
- 50
], - "interpolation": "Linear"
}
], - "links": [
- {
- "rel": "self",
- "type": "application/json"
}, - {
- "rel": "next",
- "type": "application/json"
}
], - "timeStamp": "2021-09-01T12:00:00Z",
- "numberMatched": 20,
- "numberReturned": 2
}A user SHOULD add more temporal values data into a temporal property with id tPropertyName.
| collectionId required | string local identifier of a collection |
| mFeatureId required | string local identifier of a moving feature |
| tPropertiesName required | string local identifier of a temporal properties |
| datetimes required | Array of strings <date-time> >= 2 items unique |
required | number or string or boolean |
| interpolation required | string Enum: "Discrete" "Step" "Linear" "Regression" |
{- "datetimes": [
- "2011-07-15T08:00:00Z",
- "2011-07-15T08:00:01Z",
- "2011-07-15T08:00:02Z"
], - "values": [
- 0,
- 20,
- 50
], - "interpolation": "Linear"
}{- "code": "500",
- "description": "Server Internal Error"
}The temporal property with id tPropertyName SHOULD be deleted.
| collectionId required | string local identifier of a collection |
| mFeatureId required | string local identifier of a moving feature |
| tPropertiesName required | string local identifier of a temporal properties |
{- "code": "500",
- "description": "Server Internal Error"
}